【问题标题】:PHP float modulus not workingPHP浮点模数不起作用
【发布时间】:2014-06-07 20:19:08
【问题描述】:

我编写了一个函数来在必要时将逗号和零添加到数字中,但我已经陷入了模数函数的困境。根据我的PHP:

float(877.5) % 1 == 0 //true

不应该877.5 % 1 == 0.5吗?

【问题讨论】:

  • Operands of modulo are converted to integers (by stripping the decimal part) before processing. For floating-point modulo, see fmod(). reference 。谢谢提问

标签: php floating-point modulus


【解决方案1】:

它给你的部门提醒你需要的是fmod

fmod返回参数除法的浮点余数(模)

echo fmod(877.5, 1); // 0.5

【讨论】:

  • 那么 % 和 fmod 到底有什么区别呢?是不是因为它是一个浮点数,所以 % 不起作用?
  • 奇怪,在谷歌浏览器检查器中,如果我输入 33.3 % 1 它会给我 0.3 的浮点返回
【解决方案2】:

不,模运算符告诉您除法的余数。任何东西除以 1 没有余数,所以它得到 0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2020-08-07
    • 1970-01-01
    • 2018-06-08
    • 2018-12-09
    相关资源
    最近更新 更多