Converting Numerical Value to its Corresponding Text Format!

Standard

Some times we need to convert a numerical value to its text value. For example when we want to make a digit or a summation of some value to a text format in the case of any accounting purpose then this code of functions will help.

$nwords = array( "zero", "one", "two", "three", "four", "five", "six", "seven",
"eight", "nine", "ten", "eleven", "twelve", "thirteen",
"fourteen", "fifteen", "sixteen", "seventeen", "eighteen",
"nineteen", "twenty", 30 => "thirty", 40 => "forty",
50 => "fifty", 60 => "sixty", 70 => "seventy", 80 => "eighty",
90 => "ninety" );

function int_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 = '';
        // ... now $x is a non-negative integer.

        if($x < 21)   // 0 to 20
            $w .= $nwords[$x];
        else if($x < 100) {   // 21 to 99
            $w .= $nwords[10 * floor($x/10)];
            $r = fmod($x, 10);
            if($r > 0)
            $w .= '-'. $nwords[$r];
            } else if($x < 1000) {   // 100 to 999
                $w .= $nwords[floor($x/100)] .' hundred';
                $r = fmod($x, 100);
                     if($r > 0)
                     $w .= ' and '. int_to_words($r);
                } else if($x < 1000000) {   // 1000 to 999999
                     $w .= int_to_words(floor($x/1000)) .' thousand';
                     $r = fmod($x, 1000);
                     if($r > 0) {
                          $w .= ' ';
                          if($r < 100)
                          $w .= 'and ';
                          $w .= int_to_words($r);
                     }
                  } else {    //  millions
                       $w .= int_to_words(floor($x/1000000)) .' million';
                       $r = fmod($x, 1000000);
                       if($r > 0) {
                            $w .= ' ';
                            if($r < 100)
                            $word .= 'and ';
                            $w .= int_to_words($r);
                       }
                  }
      }
      return $w;
}

Use it in following way:

echo 'There are currently '. int_to_words(100) . ' members logged on.';

The parameter “100” will be processed by the functions and will output a value : one hundred

Advertisements

4 thoughts on “Converting Numerical Value to its Corresponding Text Format!

  1. Hi everyoneAnother newbie here. I've joined on the recommendation of a friend on here. Looks like there are lots of interesting threads.I love gardening and messing about with the camera so you should see me joining in with those for starters.Look forward to 'meeting' you all, John from Payday Loans

  2. Tired of getting low amounts of useless visitors for your site? Well i want to tell you about a brand new underground tactic which makes myself $900 each day on 100% AUTOPILOT. I could be here all day and going into detail but why dont you just check their site out? There is really a excellent video that explains everything. So if your seriously interested in producing simple hard cash this is the site for you. Auto Traffic Avalanche

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s