PHP除以100时的舍入问题

PHP除以100时的舍入问题,php,rounding,Php,Rounding,我有一个来自数组的值,需要转换为百分比。我的问题是,当我除以100时,我似乎丢失了小数点后的数字。例如,我需要56.5才能变成.565,这就是.56 我尝试过使用round()number_format()等,但没有效果 $yearnow = date("Y"); $ratedate = $mileagerates->Rates->Year; $rateamount = $mileagerates->Rates->Mileage_Rate; if ($yearnow =

我有一个来自数组的值,需要转换为百分比。我的问题是,当我除以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;

这可能是
精度的php.ini设置

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

print_r(ini_get('precision'));
并着手

ini_set('precision', 14);

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

可能是
精度的php.ini设置

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

print_r(ini_get('precision'));
并着手

ini_set('precision', 14);


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

我看不到代码中的round或number\u格式,这是因为它们不起作用。导致问题的行是:
$currentamount=$rateamount/100向我们显示$currentyear、$rateamount和$currentamount进行var_转储的值;但是,除非你发现了一些世界上没有人遇到过的奇怪的模糊错误,否则很难理解你的意思。你尝试过除以100.0吗?@Br.Bill根本不应该有任何区别。我看不到你代码中的圆形或数字格式,因为它们不起作用。导致问题的行是:
$currentamount=$rateamount/100向我们显示$currentyear、$rateamount和$currentamount进行var_转储的值;但是,除非你发现了一些世界上没有人遇到过的奇怪的模糊错误,否则很难理解你的意思。你试过除以100.0吗?@Br.Bill应该不会有任何区别。它目前设置为14:
print\r(ini_get('precision')=14;以浮点数显示的有效位数;精度=14那么我现在也没有主意了,这是我唯一能够重现这个问题的方法:-/奇怪的是,如果我把它改为20,我得到0.56000000000000005329。它当前设置为14:
print\r(ini\u get('precision')=14;以浮点数显示的有效位数;精度=14那么我现在也没有想法了,这是我唯一能够重现这个问题的方法:-/奇怪的是,如果我把它改为20,我得到0.56000000000000005329。