Advertisement
badlogic

number to words

Jul 15th, 2022
986
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.11 KB | None | 0 0
  1. function numtowordscrisdev($num){
  2.         $num = $_GET['test'];
  3.         $decones = array(
  4.             '1' => "One",
  5.             '2' => "Two",
  6.             '3' => "Three",
  7.             '4' => "Four",
  8.             '5' => "Five",
  9.             '6' => "Six",
  10.             '7' => "Seven",
  11.             '8' => "Eight",
  12.             '9' => "Nine",
  13.             10 => "Ten",
  14.             11 => "Eleven",
  15.             12 => "Twelve",
  16.             13 => "Thirteen",
  17.             14 => "Fourteen",
  18.             15 => "Fifteen",
  19.             16 => "Sixteen",
  20.             17 => "Seventeen",
  21.             18 => "Eighteen",
  22.             19 => "Nineteen"
  23.         );
  24.         $ones = array(
  25.             0 => " ",
  26.             1 => "One",
  27.             2 => "Two",
  28.             3 => "Three",
  29.             4 => "Four",
  30.             5 => "Five",
  31.             6 => "Six",
  32.             7 => "Seven",
  33.             8 => "Eight",
  34.             9 => "Nine",
  35.             10 => "Ten",
  36.             11 => "Eleven",
  37.             12 => "Twelve",
  38.             13 => "Thirteen",
  39.             14 => "Fourteen",
  40.             15 => "Fifteen",
  41.             16 => "Sixteen",
  42.             17 => "Seventeen",
  43.             18 => "Eighteen",
  44.             19 => "Nineteen"
  45.         );
  46.         $tens = array(
  47.             0 => "",
  48.             2 => "Twenty",
  49.             3 => "Thirty",
  50.             4 => "Forty",
  51.             5 => "Fifty",
  52.             6 => "Sixty",
  53.             7 => "Seventy",
  54.             8 => "Eighty",
  55.             9 => "Ninety",
  56.         );
  57.         $hundreds = array(
  58.             "Hundred",
  59.             "Thousand",
  60.             "Million",
  61.             "Billion",
  62.             "Trillion",
  63.             "Quadrillion"
  64.         ); //limit t quadrillion
  65.         $num = number_format($num,2,".",",");
  66.         $num_arr = explode(".",$num);
  67.         $wholenum = $num_arr[0];
  68.         $decnum = $num_arr[1];
  69.         $whole_arr = array_reverse(explode(",",$wholenum));
  70.         krsort($whole_arr);
  71.         $rettxt = "";
  72.         foreach($whole_arr as $key => $i){
  73. //            die(printa($whole_arr));
  74.             if($i < 20){
  75.                 if(substr($i,1,2) < 20){
  76.                     if(substr($i,1,2) < 10){
  77.                         $rettxt .= $ones[$i];
  78.                         $rettxt .= "".$ones[substr($i,1,2)];
  79.  
  80.                         $rettxt .= " ".$decones[substr($i,2,1)];
  81.                        // var_dump(substr($i,2,1));
  82.                     }else{
  83.                         $rettxt .= $ones[$i];
  84.                         $rettxt .= "".$ones[substr($i,1,2)];
  85.                         $rettxt .= " ".$decones[substr($i,3,1)];
  86.                     }
  87.                 }else{
  88.                     $rettxt .= $ones[$i];
  89.                     $rettxt .= "".$ones[substr($i,2,1)];
  90.                     $rettxt .= " ".$decones[substr($i,3,1)];
  91.                 }
  92.  
  93.             }elseif($i < 100){
  94.                 $rettxt .= $tens[substr($i,0,1)];
  95.                 if(substr($i,1,2) < 20 && substr($i,1,2) != 0){
  96.                     $rettxt .= " ".$ones[substr($i,1,2)];
  97.                     $rettxt .= " ".$ones[substr($i,2,1)];
  98.                     $rettxt .= " ".$decones[substr($i,3,1)];
  99.                 }elseif(substr($i,1,2) != 0){
  100.                     $rettxt .= " ".$tens[substr($i,1,1)];
  101.                     $rettxt .= " ".$ones[substr($i,2,1)];
  102.                     $rettxt .= " ".$decones[substr($i,3,1)];
  103.                 }
  104.             }else{
  105.                 $rettxt .= $ones[substr($i,0,1)]." ".$hundreds[0];
  106.                 if(substr($i,1,2) < 20 && substr($i,1,2) != 0){
  107.                     if(substr($i,1,2) < 10){
  108.                         //var_dump(substr($i,1,2));
  109.                         $rettxt .= " ".$ones[substr($i,1,2)];
  110.                         $rettxt .= " ".$ones[substr($i,2,1)];
  111.                     }else{
  112.                         //var_dump(substr($i,1,2));
  113.                         $rettxt .= " ".$ones[substr($i,1,2)];
  114.                         //$rettxt .= " ".$ones[substr($i,2,1)];
  115.                         $rettxt .= " ".$decones[substr($i,3,1)];
  116.                     }
  117.                 }elseif(substr($i,1,2) != 0){
  118.                     $rettxt .= " ".$tens[substr($i,1,1)];
  119.                     $rettxt .= " ".$ones[substr($i,2,1)];
  120.                     $rettxt .= " ".$decones[substr($i,3,1)];
  121.                 }elseif (substr($i,1,3)!=0){
  122.                     $rettxt .= " ".$tens[substr($i,1,1)];
  123.                     $rettxt .= " ".$ones[substr($i,2,1)];
  124.                     $rettxt .= " ".$decones[substr($i,3,1)];
  125.  
  126.                 }
  127.  
  128.  
  129.             }
  130.             if($key > 0){
  131.                 $rettxt .= " ".$hundreds[$key]." ";
  132.             }
  133.         }
  134.         $rettxt = $rettxt." pesos";
  135.  
  136.         if($decnum > 0){
  137.             $rettxt .= " and ";
  138.             if($decnum < 20){
  139.                 $rettxt .= $decones[$decnum];
  140.             }
  141.             elseif($decnum < 100){
  142.                 $rettxt .= $tens[substr($decnum,0,1)];
  143.                 $rettxt .= " ".$ones[substr($decnum,1,1)];
  144.             }
  145.             $rettxt = $rettxt." cents only";
  146.         }else{
  147.             $rettxt = $rettxt." and 0/100 only";
  148.         }
  149.         return $rettxt;
  150.        
  151.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement