views:

62

answers:

2

I'm developing a simple web application where in I need to display number a to my users in string format.

Example:

12 - One Two or Twelve
-20 - minus Two zero or minus twenty

Either way is fine. I need this to be done in PHP. Any help will be appreciated.

+3  A: 

If you want to spell out the complete number you can make use of the PEAR Numbers_Words class. This class has a toWords() method that accepts a +ve or a -ve num and returns the spelled out string representation of the number.

If you want to convert the number to string digit wise, I am not aware of any lib function. But you can code one yourself easily..stereofrog gives a good way to do this in his answer.

<?php

$arr = array(
        -12,
        20
            );

foreach($arr as $num) {
        $nw = new Numbers_Words();
    echo "$num = ". $nw->toWords($num)."\n";
}    

?>

Output:

C:\>php a.php
-12 = minus twelve
20 = twenty
codaddict
+3  A: 

for the first option (spell out digits), strtr is your friend

$words = array(
  '-' => 'minus ',
  '1'  => 'one ',
  '2' => 'two ',
etc....
);

echo strtr(-123, $words);
stereofrog