我正在尋找一種優雅的方式來總結十進制數。似乎round(0.0045001, 5, PHP_ROUND_HALF_UP);
沒有返回我所期望的,所以我想出了以下功能;始終將小數四捨五入至指定的精度
function roundUp($number, $precision) {
$rounded = round($number, $precision);
if ($rounded < $number) {
$add = '0';
for ($i = 1; $i <= $precision; $i++) {
if ($i == 1) $add = '.';
$add .= ($i == $precision) ? '1' : '0';
}
$add = (float) $add;
$rounded = $rounded + $add;
}
return $rounded;
}
我想知道是否有其他更優雅的方式來實現這一目標?
預期結果: var_dump(roundUp(0.0045001, 5)) // 0.00451;
我不知道爲什麼我用'pow()',但無法得到正確的結果。我想我犯了一些我沒有注意到的錯誤。非常感謝。 – Revenant 2012-01-07 18:22:18