PHP Format numbers to Indian Numerical System

The numerical system used in India differs from the Western system in terms of the placement of the thousands separator.

Example :
Number -> 1000000
Indian System -> 10,00,000 (Ten Lakh)
Western System -> 1,000,000 (1 Million)

While echoing numbers in PHP it is possible to format numbers with such separators using functions like number_format.

To format a number in the Indian Numerical System the code would be :

$amount = '100000';
setlocale(LC_MONETARY, 'en_IN');
$amount = money_format('%!i', $amount);
echo $amount;

and the output should be :


1. Set the locale.
2. Format the number using money_format.

Last Updated On : 1st July 2009

Subscribe to get updates delivered to your inbox

About Silver Moon

Php developer, blogger and Linux enthusiast. He can be reached at [email protected]. Or find him on

4 Comments + Add Comment

  • money_format() does not work for windows. How can we make the existing functionality work on windows?

  • Thanks… It works as per my requirement….

    I have done some modification to remove the decimal points.

    $number = 10000;
    setlocale(LC_MONETARY, ‘en_IN’); $amount1 = money_format(‘%!.0n’, $number); echo $amount1;

  • It Does not work properly.

Leave a comment