我有一个来自数据库的数字列表,范围从 0.001 到 10,我需要以 2 位小数的最小精度显示它们,但没有最大精度。
示例数字和预期转化:
- 1 -> 1.00
- 0.1 -> 0.10
- 0.01 -> 0.01
- 0.001 -> 0.001
- 1.234 -> 1.234
- 0.035 -> 0.035
- 25.5 -> 25.50
有什么想法吗?
最佳答案
function min_precision($x, $p)
{
$e = pow(10,$p);
return floor($x*$e)==$x*$e?sprintf("%.${p}f",$x):$x;
}
foreach (Array(1,0.1,0.01,0.001,1.234,0.035,25.5) as $x)
{
echo $x . " -> " . min_precision($x,2) . "\n";
}
输出:
1 -> 1.00
0.1 -> 0.10
0.01 -> 0.01
0.001 -> 0.001
1.234 -> 1.234
0.035 -> 0.035
25.5 -> 25.50
关于PHP 数字的最小精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3610924/