首页 > 解决方案 > 如何在 PHP 中使用 round() 和 number_format() 得到完美的计算

问题描述

我有两个计算,其答案应该是这样的。

每加仑英里数:5.22
公升每公里:45.09

但我得到的答案是这样的 MPG(5.31817920134) 和 LPK(44.2283704264)。这是我的代码。任何人都可以帮助解决这个问题吗?

$fuelTotal = 74 + 91.5 + 128;  
$odometerTotal = 161.406 + 201.187 + 289.407;  
$fuelMPG = number_format(($odometerTotal * 0.621371) / (round($fuelTotal) / 3.78541), 2, '.', '');  
$fuelLPK = number_format((round($fuelTotal) / $odometerTotal) * 100, 2, '.', '');

标签: phpcalculation

解决方案


这里。我也测试了您的代码,它仅以 2 舍入。答案如预期而来。

以下代码用于四舍五入 2 个十进制数字。

<?php
$fuelTotal = 74 + 91.5 + 128;  
$odometerTotal = 161.406 + 201.187 + 289.407;  
$fuelMPG = number_format(($odometerTotal * 0.621371) / (round($fuelTotal) / 3.78541), 2, '.', '');  
$fuelLPK = number_format((round($fuelTotal) / $odometerTotal) * 100, 2, '.', '');


echo round($fuelLPK, 2); //Will Round off LPK to 2 decimal points.
echo round($fuelMPG , 2); //Will Round off MPG to 2 decimal points.
?>

推荐阅读