除以100时的PHP舍入问题


PHP Rounding Issue When Dividing by 100

我有一个来自数组的值,需要转换为百分比。我的问题是,当我除以100时,我似乎失去了小数点后的数字。例如,我需要56.5才能变成.565,这就是.56。

我试过使用round()number_format()等,但都没有用。

$yearnow = date("Y");
$ratedate = $mileagerates->Rates->Year;
$rateamount = $mileagerates->Rates->Mileage_Rate;
if ($yearnow == $ratedate) {
  $currentyear = $ratedate;
  $currentamount = $rateamount / 100;
} else {
  $currentyear = "";
  $currentamount = 0;
}
echo $currentyear;
echo $currentamount;

可能是precision的php.ini设置。

通过执行以下操作检查当前设置:

print_r(ini_get('precision'));

并设置

ini_set('precision', 14);

对于更高的值,php文档的默认值实际上应该是14。