带有浮点数的 Mod 给出错误的结果 [重复]
Posted
技术标签:
【中文标题】带有浮点数的 Mod 给出错误的结果 [重复]【英文标题】:Mod with Float Numbers gives wrong Result [duplicate] 【发布时间】:2017-08-10 08:35:33 【问题描述】:当我尝试这段代码时:
A = 19 Mod 6.7
结果是 5 但应该是 5.6 谁能告诉我,怎么了?
【问题讨论】:
【参考方案1】:令人讨厌的是,VBA 会将6.7
舍入为7
,因为它没有浮点模数 函数(参见Java)。
有效地评估19 Mod CInt(6.7)
,CInt
使用德式舍入,而不是整数截断。
如果您想在工作表上复制 MOD 函数的行为,请参阅VBA equivalent to Excel's mod function
【讨论】:
【参考方案2】:MOD 是 VBA 中的整数函数。最好使用:
a - (b * (a / b))
【讨论】:
以上是关于带有浮点数的 Mod 给出错误的结果 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
RMS 的快速计算在 Java 中给出了 NaN - 浮点错误?
Python Ctypes,C++ 字符串到浮点数的转换在 python 中调用 Matplotlib 后给出错误/舍入的结果