带有浮点数的 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 给出错误的结果 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

需要React输入框是一个浮点数[重复]

将浮点数转换为字符串而不会丢失精度

RMS 的快速计算在 Java 中给出了 NaN - 浮点错误?

Python Ctypes,C++ 字符串到浮点数的转换在 python 中调用 Matplotlib 后给出错误/舍入的结果

Python 模拟32bit 浮点数运算

为啥C++里面浮点与整数相乘的结果跟在计算器里的不一样呢?浮点我选的float