Welcome to HBH! If you had an account on hellboundhacker.org you will need to reset your password using the Lost Password system before you will be able to login.

Number to Word Converter - Java Code Bank


Number to Word Converter
This is a rewrite to newbee's word_converter_fn program. This takes up 999 decillion and prints out the worded equivalent.
                /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package word_converter_fn;

/**
 *
 * @author elmiguel and selliser
 */
public class Word_converter_fn {
   private static String ones[]     = {"one","two","three","four","five","six","seven","eight","nine"}; 
   private static String elevens[]  = {"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"}; 
   private static String tens[]     = {"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};
   private static String decimalGrouping[] = {"thousand", "million", "billion", "trillion", "quadrillion", "sextillion", "septillion", "octillion","nonillion", "decillion"};   
   
   public static String calculateTriple(int number){
       //check for even group values (i.e. 1,000)
       if(number==0){
       return "";
       }
      String tripleString="";
      int localCalc=number%100; 
      if (number>99){
           tripleString+=convertOnes(number/100)+" hundred ";
       }
      //x Modulo 100 gives us the right two digits.
      //Check for Elevens first
      if(localCalc<20 && localCalc>=10){
          tripleString+=convertElevens(localCalc);
      }else{
          //not an eleven; calc tens then ones
          if(localCalc>19){
           tripleString+=convertTens(localCalc)+" ";
          }
          //always calc ones
          tripleString+=convertOnes(localCalc%10);
      }
       return tripleString;
   }
   public static String calculateGroup(int number){
       return decimalGrouping[number];
   }
   public static String convertOnes(int number){
       if(number>0){
        return ones[number-1];    
       }
       else{
           return "";
       }
   }
   public static String convertElevens(int number){
       return elevens[(number%10)];
   }
   public static String convertTens(int number){
       return tens[number/10 -2];//-2 is the normal -1 offset plus
                                // an additoinal -1 for removing "ten"
   }

  public static String convert(String n) { 
    String out = "";
    String tripleNum="";
    
    if (n.equals("0")){
        return "zero";
    }//zero check
    //Zero pad the front of the string 
    while(n.length()%3!=0){

        n="0"+n;
    }
    //First check for elevens becuase they don't follow
    //nomenclature rules
    int decimalGroupIndex=n.length()/3;
    for(int i=0;i<n.length()/3;i++){        
        if(i>0){
         out+= " " + decimalGrouping[(decimalGroupIndex-i)-1] + " ";
        }
        //Break the number into three-digit intervals.
        tripleNum=n.substring(i*3, (i*3)+3);
        out+= calculateTriple(Integer.parseInt(tripleNum));
    }//loop

      return out; 
      }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
          
            for(String arg : args){
                    System.out.println("input : " + arg + "\r\nOutput : " + convert(arg).trim());
            }
    }
}

            
Comments
Sorry but there are no comments to display