我试图在 PHP 中乘以一些小数字,但 bcmul 返回零,因为浮点值正在变成科学记数法。
我尝试sprintf('%.32f',$value)
在小的浮点值上使用,但由于小数位数未知,因此舍入错误,然后乘法时会导致舍入错误。
另外,我不能用strpos('e',$value)
它来找出它是否是科学记数法数字,因为即使我将它转换为字符串也找不到它(string)$value
这是一些示例代码:
$value = (float)'7.4e-5'; // This number comes from an API like this
$value2 = (float)3.65; // Another number from API
echo bcmul($value,$value2); // 0