Malfist - 1 month ago 14

C# Question

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;
}
```