PHP minimum precision for number

I have a list of numbers coming from the database that range from 0.001 to 10, and I need to display them with an accuracy of at least 2 decimal places, but not the maximum accuracy.

Examples of numbers and expected conversion:

  • 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

Any ideas?

+4
source share
3 answers
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 
+7
source
 $number = split('.', $dbNumber); if(strlen($number[1]) < 2) $resultNumber = number_format($dbNumber,2); else $resultNumber = $dbNumber; 

where $ dbNumber is the number coming from the database

+3
source

number_format(25.5, 2)

http://us.php.net/number_format

0
source

All Articles