凤来仪

专业的计算机学习网站

首页 > Asp向上取整

Asp向上取整

点击:1206 发布时间:

    ASP中,并没有针对所有数字向上取整的函数:Fix函数只对负数向上取整;Int函数是向下取整。为此,我们只能通过使用已有的系统函数,写出适合所有数字向上取整的程序。

    方法一:

    A,B都是整数,求A除以B后的上取整。

    方法:int((A+B-1)/B)

    HUNTON 的证明

    上取整用UP表示
    由于A>1、B>1,且A、B都是整数,所以可以设A=NB+M
    其中N为非负整数,M为0到B-1的数,则
    A/B = N + M/B
    (A+B-1)/B = N + 1 + (M - 1)/B;
    当M为0时,
    UP(A/B) = N,
    int((A+B-1)/B) = N + int(1 - 1/B) = N
    当M为1到B-1的数时,0 <= M-1 <= B-2
    UP(A/B) = N + 1,
    int((A+B-1)/B) = N + 1 + int((M-1)/B) = N + 1
    所以对A>1、B>1的整数A、B都有:
    UP(A/B) = int((A+B-1)/B)

    方法二:

    Function ceil(value)
    If value>0 then
        value=FIX(value)+Sgn(value-FIX(value))
    Else
        value=FIX(value)
    End If
    ceil=value
    End function

    方法三:

    直接在服务端用JS的Math.ceil()函数
    response.write "2.2向上取整为:"& haha(2.2) 

    <script Language=JavaScript RunAt=Server>
    function haha(a){
        return Math.ceil(a);
    }
    </script>