Viewing file: numbers-words.php (2.05 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
$nwords = array( "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eightteen", "nineteen", "twenty", 30 => "thirty", 40 => "fourty", 50 => "fifty", 60 => "sixty", 70 => "seventy", 80 => "eigthy", 90 => "ninety" );
function number_to_words ($x) { global $nwords; if(!is_numeric($x)) { $w = '#'; }else if(fmod($x, 1) != 0) { $w = '#'; }else{ if($x < 0) { $w = 'minus '; $x = -$x; }else{ $w = ''; } if($x < 21) { $w .= $nwords[$x]; }else if($x < 100) { $w .= $nwords[10 * floor($x/10)]; $r = fmod($x, 10); if($r > 0) { $w .= ' '. $nwords[$r]; } } else if($x < 1000) { $w .= $nwords[floor($x/100)] .' hundred'; $r = fmod($x, 100); if($r > 0) { $w .= ' '. number_to_words($r); } } else if($x < 1000000) { $w .= number_to_words(floor($x/1000)) .' thousand'; $r = fmod($x, 1000); if($r > 0) { $w .= ' '; if($r < 100) { $w .= ' '; } $w .= number_to_words($r); } } else { $w .= number_to_words(floor($x/1000000)) .' million'; $r = fmod($x, 1000000); if($r > 0) { $w .= ' '; if($r < 100) { $word .= ' '; } $w .= number_to_words($r); } } } return $w; }
// demonstration $num=7899; $result=''.htmlspecialchars($num).' = '.number_to_words($num).' '; echo $result;
?>
|