phpguru.org offers a small and useful class to convert numbers to their textual equivalent. If you are building a accounting or invoicing application it may come in handy. The class can be downloaded form here. A sample code using the class is shown below.
GetText("197533408989");
}
catch(Exception $e) {
echo $e->getMessage();
}
?>
The above code prints:
one hundred and ninety-seven billion
five hundred and thirty-three million
four hundred and eight thousand
nine hundred and eighty-nine
The class supports a range up to 999999999999999999 and also supports decimal numbers.
One thing to note is that The billion/trillion etc suffixes are done using the American style (eg 9 zeros for billion, 12 for trillion).
>> One thing to note is that The billion/trillion etc suffixes are done using the American style
If you want British style, use Pear package called “Numbers Words”
http://pear.php.net/package/Numbers_Words
nice, thanx, but i suggest that would better if you delete the “and ” in hundred
// Three digit number
case ‘3’:
if ($int % 100 == 0) {
$text = self::$units[$int{0}] . ‘ hundred’;
} else {
$text = self::$units[$int{0}] . ‘ hundred and ‘ . self::GetText(substr($int, 1));
}
break;
example:
197533408989.89
result:
One hundred ninety-seven billion,
five hundred thirty-three million,
four hundred eight thousand,
nine hundred eighty-nine and 89/100