public static String convertNumberToWord(int number) { StringBuilder word = new StringBuilder(); final List<Integer> tokenizedInts = Tokenizer.tokenizeNumber(number); for (int index = tokenizedInts.size() - 1; index >= 0; index--) { int token = tokenizedInts.get(index); // Skip if zero if (token == 0) { if (tokenizedInts.size() == 1) { word.append(NumberParser.parseOnes(token)); } continue; } // For values 10 - 19 if ((token == 1) && ((index == 1) || (index == 4) || (index == 7))) { int lastDigit = tokenizedInts.get(index - 1); String value = NumberParser.parseOnes((token * 10) + lastDigit); word.append(value); index--; } else { word.append(NumberParser.parseNumber(token, index)); } addScales(index, word); } return word.toString(); }