Advertisement
ivan_yosifov

Number to String

Jun 5th, 2014
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.59 KB | None | 0 0
  1. package demo;
  2. // convert number in range [0 ... 999] to string
  3.  
  4. public class HelloJava {
  5.     public static void main(String[] args) {
  6.         int number = 511;
  7.  
  8.         int length = String.valueOf(number).length();
  9.  
  10.         String numberStr = convertNumberToString(number, length);
  11.  
  12.         System.out.println(numberStr);
  13.     }
  14.  
  15.     public static String convertNumberToString(int number, int length) {
  16.         String str = null;
  17.  
  18.         if (length == 1) {
  19.             str = readSingleDigit(number);
  20.         } else if (length == 2) {
  21.             str = readDoubleDigit(number);
  22.         } else {
  23.             str = readTripleDigit(number);
  24.         }
  25.  
  26.         return str;
  27.     }
  28.  
  29.     public static String readSingleDigit(int num) {
  30.         String str = null;
  31.  
  32.         switch (num) {
  33.         case 0:
  34.             str = "zero";
  35.             break;
  36.         case 1:
  37.             str = "one";
  38.             break;
  39.         case 2:
  40.             str = "two";
  41.             break;
  42.         case 3:
  43.             str = "three";
  44.             break;
  45.         case 4:
  46.             str = "four";
  47.             break;
  48.         case 5:
  49.             str = "five";
  50.             break;
  51.         case 6:
  52.             str = "six";
  53.             break;
  54.         case 7:
  55.             str = "seven";
  56.             break;
  57.         case 8:
  58.             str = "eight";
  59.             break;
  60.         case 9:
  61.             str = "nine";
  62.             break;
  63.         }
  64.  
  65.         return str;
  66.     }
  67.  
  68.     public static String readDoubleDigit(int num) {
  69.         String str = null;
  70.  
  71.         if (num < 20) {
  72.             switch (num) {
  73.             case 10:
  74.                 str = "ten";
  75.                 break;
  76.             case 11:
  77.                 str = "eleven";
  78.                 break;
  79.             case 12:
  80.                 str = "twelve";
  81.                 break;
  82.             case 13:
  83.                 str = "thirteen";
  84.                 break;
  85.             case 14:
  86.                 str = "fourteen";
  87.                 break;
  88.             case 15:
  89.                 str = "fifteen";
  90.                 break;
  91.             case 16:
  92.                 str = "sixteen";
  93.                 break;
  94.             case 17:
  95.                 str = "seventeen";
  96.                 break;
  97.             case 18:
  98.                 str = "eighteen";
  99.                 break;
  100.             case 19:
  101.                 str = "nineteen";
  102.                 break;
  103.             }
  104.         } else {
  105.             switch (num / 10) {
  106.             case 2:
  107.                 str = "twenty";
  108.                 break;
  109.             case 3:
  110.                 str = "thirty";
  111.                 break;
  112.             case 4:
  113.                 str = "fourty";
  114.                 break;
  115.             case 5:
  116.                 str = "fifty";
  117.                 break;
  118.             case 6:
  119.                 str = "sixty";
  120.                 break;
  121.             case 7:
  122.                 str = "seventy";
  123.                 break;
  124.             case 8:
  125.                 str = "eighty";
  126.                 break;
  127.             case 9:
  128.                 str = "ninety";
  129.                 break;
  130.             }
  131.  
  132.             int lastDigit = num % 10;
  133.  
  134.             if (lastDigit != 0) {
  135.                 str += " " + readSingleDigit(lastDigit);
  136.             }
  137.         }
  138.  
  139.         return str;
  140.     }
  141.  
  142.     public static String readTripleDigit(int num) {
  143.         String str = null;
  144.  
  145.         int firstDigit = num / 100;
  146.  
  147.         str = readSingleDigit(firstDigit);
  148.         str += " hundred";
  149.  
  150.         int lastDigits = num % 100;
  151.         if (lastDigits != 0) {
  152.             str += " and ";
  153.  
  154.             if (lastDigits < 10) {
  155.                 str += readSingleDigit(lastDigits);
  156.             } else {
  157.                 str += readDoubleDigit(lastDigits);
  158.             }
  159.         }
  160.  
  161.         return str;
  162.     }
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement