Jump to content

Convert number to word


jeeva

Recommended Posts

<?php
function numtostr($number){
$number = strval($number);
if(!ereg("^[0-9]{1,15}$", $number)) return false;
$ones = array("", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine");
$teens = array("ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen");
$tens = array("", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety");
$majorUnits = array("", "thousand", "million", "billion", "trillion");
$result = "";
$isAnyMajorUnit = false;
$length = strlen($number);
for($i=0, $pos=$length-1; $i<$length; $i++, $pos--){
  if($number{$i} != '0'){
  if($pos % 3 == 0) $result .= $ones[$number{$i}] . ' ';
  elseif($pos % 3 == 1){
    if($number{$i} == '1'){
    $result .= $teens[$number{$i + 1}] . ' ';
    $i++;
    $pos--;
    }else{
    $result .= $tens[$number{$i}];
    $result .= $number{$i + 1} == '0'? ' ' : '-';
    }
  }else $result .= $ones[$number{$i}] . " hundred ";
  $isAnyMajorUnit = true;
  }
  if($pos % 3 == 0 && $isAnyMajorUnit){
  $result .= $majorUnits[$pos / 3] . ' ';
  $isAnyMajorUnit = false;
  }
}
trim($result);
if($result == "") $result = "zero";
return $result;
}
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.