Convert number or float to indian rupees words in PHP

function getIndianCurrency(float $number) { $no = floor($number); $decimal = round($number - $no, 2) * 100; $decimal_part = $decimal; $hundred = null; $hundreds = null; $digits_length = strlen($no); $decimal_length = strlen($decimal); $i = 0; $str = array(); $str2 = array(); $words = array(0 => '', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine', 10 => 'ten', 11 => 'eleven', 12 => 'twelve', 13 => 'thirteen', 14 => 'fourteen', 15 => 'fifteen', 16 => 'sixteen', 17 => 'seventeen', 18 => 'eighteen', 19 => 'nineteen', 20 => 'twenty', 30 => 'thirty', 40 => 'forty', 50 => 'fifty', 60 => 'sixty', 70 => 'seventy', 80 => 'eighty', 90 => 'ninety'); $digits = array('', 'hundred','thousand','lakh', 'crore'); while( $i < $digits_length ) { $divider = ($i == 2) ? 10 : 100; $number = floor($no % $divider); $no = floor($no / $divider); $i += $divider == 10 ? 1 : 2; if ($number) { $plural = (($counter = count($str)) && $number > 9) ? 's' : null; $hundred = ($counter == 1 && $str[0]) ? ' and ' : null; $str [] = ($number < 21) ? $words[$number].' '. $digits[$counter]. $plural.' '.$hundred:$words[floor($number / 10) * 10].' '.$words[$number % 10]. ' '.$digits[$counter].$plural.' '.$hundred; } else $str[] = null; } $d = 0; while( $d < $decimal_length ) { $divider = ($d == 2) ? 10 : 100; $decimal_number = floor($decimal % $divider); $decimal = floor($decimal / $divider); $d += $divider == 10 ? 1 : 2; if ($decimal_number) { $plurals = (($counter = count($str2)) && $decimal_number > 9) ? 's' : null; $hundreds = ($counter == 1 && $str2[0]) ? ' and ' : null; @$str2 [] = ($decimal_number < 21) ? $words[$decimal_number].' '. $digits[$decimal_number]. $plural.' '.$hundred:$words[floor($decimal_number / 10) * 10].' '.$words[$decimal_number % 10]. ' '.$digits[$counter].$plural.' '.$hundred; } else $str2[] = null; } $Rupees = implode('', array_reverse($str)); $paise = implode('', array_reverse($str2)); $paise = ($decimal_part > 0) ? $paise . ' Paise' : ''; return ($Rupees ? $Rupees . 'Rupees ' : '') . $paise; }

About Me
aman-jaiswal-image
Hello! I'm Aman Jaiswal, a web developer passionate about building efficient and reliable web applications. I specialize in PHP and Laravel development and have experience working with clients worldwide through freelance platforms. I enjoy solving real-world problems, customizing web solutions, and continuously learning new technologies in the web development ecosystem.
Let's Discuss Your Project
Prefer email? Contact me directly at contact@amanjaiswal.in