Ste
Ste

Reputation: 1520

PHP number format

I have this string :

000000000000100

and need to convert it to:

1,00

So, the rules are:

  1. Divide the number by 100 and use a comma as decimal separator
  2. Strip leading zeros
  3. Keep two decimals

Upvotes: 6

Views: 21874

Answers (2)

Lekensteyn
Lekensteyn

Reputation: 66375

From the PHP Manual page on number_format:

string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

If you want numbers like 123456 be formatted as 1234,45, use:

echo number_format($number / 100, 2, ",", "");

If you need a dot as thousands separator (1.234,56):

echo number_format($number / 100, 2, ",", ".");

The zeros are automatically removed by PHP when converting the string to a number.

Upvotes: 21

Brad Christie
Brad Christie

Reputation: 101594

string number_format ( float $number , 
                       int $decimals = 0 ,
                       string $dec_point = '.' ,
                       string $thousands_sep = ',' )

Manual: http://php.net/manual/en/function.number-format.php

// divide by 100 to shift ones place.
echo number_format((int)'000000000000100' / 100,2,',','');

Upvotes: 8

Related Questions