0

PHP 精确计算加减乘除

2021-02-07原创,版权声明见本文尾部

【双12】主会场 低至1折

举个例子:

<?php echo intval(8.20*100);?>

你是不是以为结果是820?其实输出的结果是819!!!

为什么?

是因为浮点数导致的精准度损失。

如何解决?

很简单,使用PHP的扩展函数即可。

<?php 

//加 bcadd()
$a = '8.2';
$b = '100';
echo bcadd($a, $b);	// 108
echo bcadd($a, $b, 2);	// 108.20

//减 bcsub()
$a = '8.2';
$b = '100';
echo bcsub($a, $b);	// 91
echo bcsub($a, $b, 2);	// 91.80

//乘 bcmul()
$a = '8.2';
$b = '100';
echo bcmul($a, $b);	// 820
echo bcmul($a, $b, 2);	// 820.0

//除 bcdiv()
$a = '8.2';
$b = '100';
echo bcdiv($a, $b);	// 0
echo bcdiv($a, $b, 2);	// 0.08

收藏

提示信息