Malfist Malfist - 10 days ago 4
C# Question

How can I convert an integer into its verbal representation?

Is there a library or a class/function that I can use to convert an integer to it's verbal representation?

Example input:

4,567,788


Example output:
Four million, Five hundred sixty-seven thousand, seven hundred eighty-eight


For reference, I am using C# and .NET 3.5.

Answer

if you use the code found in: converting numbers in to words C# and you need it for decimal numbers, here is how to do it:

public string DecimalToWords(decimal number)
{
    if (number == 0)
        return "zero";

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

    string words = "";

    int intPortion = (int)number;
    decimal fraction = (number - intPortion)*100;
    int decPortion = (int)fraction;

    words = NumericToWords(intPortion);
    if (decPortion > 0)
    {
        words += " and ";
        words += NumericToWords(decPortion);
    }
    return words;
}
Comments