Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • How to convert given digits to words using PHP

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 160
    Comment on it

    Hello Reader's! If you have given digits of number and you want it to convert into words for example 76 will be converted as seventy six and 102 will be convert as one hundred two

    Lets see the function below:-

    <?php
        function digittiwords($number){
            $words = array(
            '0'=> '' ,'1'=> 'one' ,'2'=> 'two' ,'3' => 'three','4' => 'four','5' => 'five',
            '6' => 'six','7' => 'seven','8' => 'eight','9' => 'nine','10' => 'ten',
            '11' => 'eleven','12' => 'twelve','13' => 'thirteen','14' => 'fouteen','15' => 'fifteen',
            '16' => 'sixteen','17' => 'seventeen','18' => 'eighteen','19' => 'nineteen','20' => 'twenty',
            '30' => 'thirty','40' => 'fourty','50' => 'fifty','60' => 'sixty','70' => 'seventy',
            '80' => 'eighty','90' => 'ninty');
    
            //First find the length of the number
            $number_length = strlen($number);
            //Initialize an empty array
            $number_array = array(0,0,0,0,0,0,0,0,0);        
            $received_number_array = array();
    
            //Store all received numbers into an array
            for($i=0;$i<$number_length;$i++){    $received_number_array[$i] = substr($number,$i,1);    }
    
            //Populate the empty array with the numbers received - most critical operation
            for($i=9-$number_length,$j=0;$i<9;$i++,$j++){ $number_array[$i] = $received_number_array[$j]; }
            $number_to_words_string = "";        
            //Finding out whether it is teen ? and then multiplying by 10, example 17 is seventeen, so if 1 is preceeded with 7 multiply 1 by 10 and add 7 to it.
            for($i=0,$j=1;$i<9;$i++,$j++){
                if($i==0 || $i==2 || $i==4 || $i==7){
                    if($number_array[$i]=="1"){
                        $number_array[$j] = 10+$number_array[$j];
                        $number_array[$i] = 0;
                    }        
                }
            }
    
            $value = "";
            for($i=0;$i<9;$i++){
                if($i==0 || $i==2 || $i==4 || $i==7){    $value = $number_array[$i]*10; }
                else{ $value = $number_array[$i];    }            
                if($value!=0){ $number_to_words_string.= $words["$value"]." "; }
                if($i==1 && $value!=0){    $number_to_words_string.= "Crores "; }
                if($i==3 && $value!=0){    $number_to_words_string.= "Lakhs ";    }
                if($i==5 && $value!=0){    $number_to_words_string.= "Thousand "; }
                if($i==6 && $value!=0){    $number_to_words_string.= "Hundred &amp; "; }
            }
            if($number_length>9){ $number_to_words_string = "Sorry This does not support more than 99 Crores"; }
            return ucwords(strtolower("Indian Rupees ".$number_to_words_string)." Only.");
        }
    
            ?>
    
    <php 
    echo digittowords("987654321");
    ?>
    

    Output will be:-

    Indian Rupees Ninty Eight Crores Seventy Six Lakhs Fifty Four Thousand Three Hundred & Twenty One 
    

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: