Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to display Currency in Indian Numbering Format in PHP?

I have a question about formatting the Rupee currency (Indian Rupee - INR).

For example, numbers here are represented as:

1 10 100 1,000 10,000 1,00,000 10,00,000 1,00,00,000 10,00,00,000 

Refer Indian Numbering System

I have to do with it PHP.

I have saw this question Displaying Currency in Indian Numbering Format. But couldn't able to get it for PHP my problem.

Update:

How to use money_format() in indian currency format?

like image 974
Somnath Muluk Avatar asked Apr 06 '12 10:04

Somnath Muluk


People also ask

How do you show rupees?

The Indian rupee sign (₹) is the currency symbol for the Indian rupee (ISO 4217: INR), the official currency of India. Designed by D.


1 Answers

You have so many options but money_format can do the trick for you.

Example:

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

Output:

1,00,000.00 

Note:

The function money_format() is only defined if the system has strfmon capabilities. For example, Windows does not, so money_format() is undefined in Windows.

Pure PHP Implementation - Works on any system:

$amount = '10000034000'; $amount = moneyFormatIndia( $amount ); echo $amount;  function moneyFormatIndia($num) {     $explrestunits = "" ;     if(strlen($num)>3) {         $lastthree = substr($num, strlen($num)-3, strlen($num));         $restunits = substr($num, 0, strlen($num)-3); // extracts the last three digits         $restunits = (strlen($restunits)%2 == 1)?"0".$restunits:$restunits; // explodes the remaining digits in 2's formats, adds a zero in the beginning to maintain the 2's grouping.         $expunit = str_split($restunits, 2);         for($i=0; $i<sizeof($expunit); $i++) {             // creates each of the 2's group and adds a comma to the end             if($i==0) {                 $explrestunits .= (int)$expunit[$i].","; // if is first value , convert into integer             } else {                 $explrestunits .= $expunit[$i].",";             }         }         $thecash = $explrestunits.$lastthree;     } else {         $thecash = $num;     }     return $thecash; // writes the final format where $currency is the currency symbol. } 
like image 84
Baba Avatar answered Oct 15 '22 00:10

Baba