Fix、Int、Round、CInt

作者:vkvi 来源:千一网络(原创) 日期:2005-10-11

Fix(number)Int(number) 都是返回数字的整数部分。

  • number 为正数时,二者返回值一样。比如:Fix(3.6)=3,Int(3.6)=3。
  • number 为负数时,Fix 直接去除小数部分,Int 返回小于或等于 number 的第一个负整数。比如:Fix(-3.6)=-3,Int(-3.6)=-4。

Round(number, numdecimalplaces),第二个参数表示从小数点右边第几位开始实行四舍五入,可以省略,默认是0,即四舍五入返回整数。CInt(number) 利用四舍五入的方式删除小数部分。

如果 Round 的第二个参数省略,那么 Round 和 CInt 功能是一样的。

  • number 为正数时,Round(3.6)=4,CInt(3.6)=4。注意,当小数部分恰好是0.5时,总是将其四舍五入为最接近的偶数。比如Round(3.5)=4,Round(4.5)=4。
  • number 为负数时,可以这样理解(假设 n 为正数):
    • Round(-n) = -Round(n),比如:Round(-3.5) = -4。
    • CInt(-n) = -CInt(n),比如:CInt(-99.8) = -100。
相关文章
文章评论
  • 1 楼:有个小疑问
    int(round()*80+10)的范围为什么是【10,89】啊,而不是【10,90】啊???
  • 2 楼:评论
    因为 round() 的最大值是 0.9999999999999999999999……,不会达到 1;round()*80 + 10 的值就是差一点点达到 90,即 89.9999999999999999999999……,外面的 int 函数会干掉小数部分,也就是 89 了。