ASP / VBScript - Int()vs CInt()

时间:2008-08-21 18:02:48

标签: asp-classic vbscript

Int()CInt()之间ASP / VBScript的区别是什么?

4 个答案:

答案 0 :(得分:33)

  

Int函数返回指定数字的整数部分。

  

CInt函数将表达式转换为Integer类型。

最佳答案来自MSDN

  

CInt与Fix和Int函数不同,它们截断而不是舍入数字的小数部分。当小数部分恰好为0.5时,CInt函数总是将其舍入到最接近的偶数。例如,0.5轮到0轮,1.5轮到2轮。

答案 1 :(得分:16)

而且,最重要的区别(IME,至少)......就是CInt overflows at 32,767

答案 2 :(得分:3)

这是另一个不同之处:

脚本:

wscript.echo 40.91 * 100
wscript.echo Int(40.91 * 100)
wscript.echo CInt(40.91 * 100)

结果:

4091
4090   (????)
4091

有什么想法吗?

答案 3 :(得分:3)

此问题的常见答案是手动强制重新舍入。这个问题与FORTRAN一样久。

而不是

a = int(40.91 * 100)

使用

b = 40.91 * 100
a = int(b + 0.5)

非常古老的技巧,不时在Excel电子表格中有用。