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