答案 0 :(得分:3)
您应该查看roundPHP函数:
你可以有这样的负小数点:
round(5003, -3); // returns 5000
round(15009, -3); // returns 15000
要弄清楚你可以这样做的区别:
$input = 5003
$x = $input;
$y = round($input, -3);
$z = $x - $y; // z is now 3
PHP不是一种数学语言,所以它不能为你解决方程式。
你可以制定一个更通用的解决方案:
$inputs = [
5003,
15009,
55108,
102010
];
foreach ($inputs as $input) {
$decimals = floor(log10($input)) - 1;
$rounded = round($input, -1 * $decimals);
echo "$input - $rounded = " . ($input - $rounded) . PHP_EOL;
}
输出:
5003 - 5000 = 3
15009 - 15000 = 9
55108 - 55000 = 108
102010 - 100000 = 2010
答案 1 :(得分:0)
假设您想要舍入最后三位数字:
$input = 5003;
$rounded = (int)(5003 / 1000) * 1000;
$rest = $input - $rounded;
echo($rounded . "\n" . $rest);
这导致:
5000
3