Use php money format and remove the numbers after the decimal place for GBP
money-format, php, rounding
Solution
Do you want to round it or get rid of the decimals?
To round it which would be 8933 would be:
echo utf8_encode(money_format('%.0n', $sales));
To get rid of the decimals, you could use floor (which rounds down):
echo utf8_encode(money_format('%.0n', floor($sales)));
Problem
I want to format some numbers from my analytics into currency using the GB money format but as its for a dashboard and doesn't need to be that precise so I want to remove the pence (numbers after the decimal place) and round it which helps with the css layout, how do I do this? Rounding up or down to the nearest pound would be fine. My code is as follows: ``` //set locale for currency setlocale(LC_MONETARY, 'en_GB'); $sales = '8932.83'; echo utf8_encode(money_format('%n', $sales)); ``` This outputs: £8,932.83 However how do I round this to be output as just £8,932 without anything after the decimal place. I want to use currency format as sometimes the figure is negative in which case money_format returns the number like -£8,932.83 which is preferable to £-8,932 (pound and negative symbol around the wrong way) which is what happened when I formatted using number_format like so: ``` echo '£'.number_format($sales, 0, '', ','); ```