VBA中的INT()和FIX()函数有什么区别

int(8.4)和fix(8.4)输出的结果都是8,为什么和资料说的不同,如果可以向前取整和向后取整的函数分别是什么

1、取整规则不同

INT()的取整规则是向下取整为最接近的整数

FIX()的取整规则是向最靠近零取整。

2、负数取整不同

INT()返回小于或等于 number 的第一个负整数,而FIX()则会返回大于或等于 number 的第一个负整数。
例如,Int 将-8.4转换成-9,而 Fix 将 -8.4转换成 -8。

扩展资料:

Int(number) Fix(number) number 参数可以是任意有效的数值表达式。如果 number 参数包含 Null,则返回 Null。 说明 Int 和 Fix 函数都删除 number 参数的小数部分并返回以整数表示的结果。

下面的示例说明 Int 和 Fix 函数如何返回数字的整数部分:

MyNumber =Int(99.8) ’ 返回 99。

MyNumber =Fix(99.2) ’ 返回 99。

MyNumber =Int(-99.8) ’ 返回 -100。

MyNumber =Fix(-99.8) ’ 返回-99。

MyNumber =Int(-99.2) ’ 返回 -100。

MyNumber =Fix(-99.2) ’ 返回 -99。

参考资料来源:百度百科-INT()函数

参考资料来源:百度百科-fix (函数)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-05
对于正数来说,INT()和FIX()两者没有区别。
对于负数来说,INT()和FIX()就有区别了:
Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。
例如,Int 将 -5.4 转换成 -6,而 Fix 将 -5.4 转换成 -5。
第2个回答  2013-04-11
Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int
返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number
的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。
Fix(number) 等于:Sgn(number) * Int(Abs(number))本回答被网友采纳
第3个回答  2013-04-11
区别在负数,你把8.4换成 -8.4,在运行一下
第4个回答  2013-04-11
仅负数时有区别
相似回答