将数字显示为小数点后100位

时间:2016-02-11 01:24:24

标签: php decimal rounding

作为一个例子,我有类似的代码:

$r1 = 7.39999999999999;
$r2 = 10000;
echo bcmul($r1,$r2,100);
//returns 74000.0
echo ($r1*$r2);
//returns 74000.0

我希望它返回73999.9999999999而不是将其四舍五入。 有这样的公式或功能吗?

2 个答案:

答案 0 :(得分:1)

文档http://php.net/manual/de/function.bcmul.php说:

  

left_operand:左操作数,作为字符串。

     

right_operand:右操作数,作为字符串。

所以请改用字符串:

$r1 = "7.39999999999999";
$r2 = "10000";
echo bcmul($r1,$r2,100);

作品。

或者,如果您从某处将这些变量(通过(字符串))转换为字符串。也许在这一步你可能会遇到一些舍入......

答案 1 :(得分:1)

我不是一个虚拟人,但快速谷歌建议你可能想要

$number_format() 

函数并指定$ decimals参数。见this link