number_format() causes error "A non well formed numeric value encountered"

Viewed 59174

I am using number_format to round floats to only 2 decimal digits. The problem is that some of my inputs don't have more than 2 decimals digits to begin with. So the code:

number_format($value, 2)

Instead of peacefully adding 0 in case it doesn't have enough decimal digits, it raises errors inside Apache log and that's not desirable.

So number_format(2.1, 2) or number_format(0, 2) will raise error in Apache log.

[Thu Jun 30 17:18:04 2011] [error] [client 127.0.0.1] PHP Notice: A non well formed numeric value encountered in /home/tahoang/Desktop/Projects/weatherData/weatherData.php on line 41

How to fix this?

5 Answers

When doing calculations, use

number_format($value, 2, ".", "")

And if you would like to display numbers with .00 at the end (like "50.50" not "50.5") then you would use

numer_format($value, 2)

Function is recognizing it as a string.

Convert to number by adding zero:

number_format($NUMBER+0)
Related