I would like to format 0.45 as 45%.
I know I can just do something like FLOOR($x*100).'%'
, but wonder if there is a better way (better is defined as more standard and not necessarily faster).
One thought is http://php.net/manual/en/class.numberformatter.php. Is this a better way? Has anyone used it and can you show an example? Thanks
The number_format() function formats a number with grouped thousands. Note: This function supports one, two, or four parameters (not three).
Most likely, you want round
instead of floor
. But otherwise, that would be the most "standard" way to do it. Alternatively you could use sprintf
such as:
sprintf("%.2f%%", $x * 100)
which would print the percentage of $x with two decimal points of precision, and a percentage sign afterwards.
The shortest way to do this via NumberFormatter
is:
$formatter = new NumberFormatter('en_US', NumberFormatter::PERCENT);
print $formatter->format(.45);
It would be better to do this if your application supports various locales, but otherwise you're just adding another line of code for not much benefit.
You can also use a function.
function percent($number){
return $number * 100 . '%';
}
and then use the following to display the result.
percent($lab_fee)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With