I want to convert number into word using mpdf.
$sum=1000;
in my td tag
<td>Rupees . </td> One thousand only
I want to convert number into word using mpdf.
$sum=1000;
in my td tag
<td>Rupees . </td> One thousand only
I use a similar function adapted from a previous Stack Overflow answer. It solves some of the edge cases involving decimal currency values. It takes any amount, and converts into Indian Currency format (Lakhs, Crores, Rupees, Paise etc). Find below the function:
/**
* Converting Currency Numbers to words currency indian format
*/
function convert_to_currency_indian_format($amount) {
if ($amount == 0) {
return "Zero Rupees Only";
}
//$number = 190908100.25;
$number = round($amount, 2);
$no = floor($number);
$point = round($number - $no, 2) * 100;
$hundred = null;
$digits_1 = strlen($no);
$i = 0;
$str = 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_1) {
$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;
}
$str = array_reverse($str);
$result = implode('', $str);
$points = ($point) ?
$words[10 * (int) ($point / 10)] . " " .
$words[$point = $point % 10] : '';
if (!empty($points)) {
return ucwords($result) . "Rupees " . ucwords($points) . " Paise Only";
} else {
return ucwords($result) . "Rupees Only ";
}
}