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"; }
exit:
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
matja source share