Click here to Skip to main content
15,911,503 members

Comments by Majid-Ali (Top 1 by date)

Majid-Ali 21-Jan-14 6:56am View    
Deleted
private string NumberToWords(int number)
{
if (number == 0)
return "zero";

if (number < 0)
return "minus " + NumberToWords(Math.Abs(number));

string words = "";
if ((number / 1000000000) > 0)
{
words += NumberToWords(number / 1000000000) + " Billion ";
number %= 1000000000;
}

if ((number / 10000000) > 0)
{
words += NumberToWords(number / 10000000) + " Crore ";
number %= 10000000;
}

if ((number / 1000000) > 0)
{
words += NumberToWords(number / 1000000) + " Million ";
number %= 1000000;
}


if ((number / 100000) > 0)
{
words += NumberToWords(number / 100000) + " Lakh ";
number %= 100000;
}


if ((number / 1000) > 0)
{
words += NumberToWords(number / 1000) + " Thousand ";
number %= 1000;
}

if ((number / 100) > 0)
{
words += NumberToWords(number / 100) + " Hundred ";
number %= 100;
}

if (number > 0)
{
if (words != "")
words += "and ";

var unitsMap = new[] { "zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };
var tensMap = new[] { "zero", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };

if (number < 20)
words += unitsMap[number];
else
{
words += tensMap[number / 10];
if ((number % 10) > 0)
words += "-" + unitsMap[number % 10];
}
}

return words;
}