Asp向上取整
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>