【发布时间】:2018-03-22 00:45:16
【问题描述】:
我想知道一个实数是否是另一个实数的倍数。我正在使用 BC-Math,因为代码是进行价格计算的更大系统的一部分,并且由于浮点数学的行为,使用浮点数会导致多次计算的错误结果。
BC-Math 有bcmod() 来获取任意精度数的模数。但是,在 PHP 7.2 之前,此函数不适用于非整数数字字符串。例如:
echo bcmod('10', '9.2'); // 1, because '9.2' is truncated to '9'
将数字转换回浮点数并使用fmod() 不是一个选项,因为fmod function returning wrong result
我找不到任何解决方案,但我无法想象没有解决方案。
编辑:
以后遇到同样问题的读者你好!根据@chiliNUT 的回复,我为bcmath-extended 库创建了一个pull-request。
【问题讨论】: