private static void ApplyDenominator(WordData wordData, int denominator, string denominatorWord) { if (wordData.figure >= denominator) { // wordData.word += " " + SpellNumber(wordData.figure/denominator * 1) + " " + denominatorWord; var figure = wordData.figure/denominator; wordData.word += " " + ConstructWords(new WordData(figure)) + " " + denominatorWord; wordData.figure %= denominator; } }
private static string ConstructWords(WordData wordData) { ApplyDenominator(wordData,10000000,"crore"); ApplyDenominator(wordData,100000,"lakh"); ApplyDenominator(wordData,1000,"thousand" ); ApplyDenominator(wordData,100,"hundred" ); if(wordData.figure > 20) { wordData.word += " " + GetNumbers()[wordData.figure/10*10]; wordData.figure %= 10; } if(wordData.figure > 0) wordData.word+=" " + GetNumbers()[wordData.figure]; return wordData.word.Trim(); }