Numsense
Numsense copied to clipboard
A .NET library for parsing natural-language numerals ("forty-two") to integers, and converting the other way as well
Numsense
A .NET library for parsing natural-language numerals ("forty-two") to integers, and converting the other way as well. While written in F#, it can be used from both F# and C#:
F#:
> let englishNumeral = Numeral.toEnglish 42;;
val englishNumeral : string = "forty-two"
> let i = Numeral.tryParseEnglish "one-thousand-three-hundred-thirty-seven";;
val i : int option = Some 1337
C#:
var englishNumeral = Numeral.English.ToNumeral(42);
// englishNumeral is "forty-two"
int i;
var success = Numeral.English.TryParse(
"one-thousand-three-hundred-thirty-seven",
out i);
// success is true, and i is 1337
Languages
Other languages than English are supported as well:
> let danishNumeral = Numeral.toDanish 9;;
val danishNumeral : string = "ni"
If you don't see your favourite language, please consider submitting a pull request.
NuGet
Numsense is available via NuGet: Numsense.
Versioning
Numsense follows Semantic Versioning 2.0.0.