C# 将长货币字符串转换为十进制

C# 将长货币字符串转换为十进制,c#,type-conversion,C#,Type Conversion,我正试图找到一种方法(或找到一个库),支持将长货币字符串转换成十进制。我不确定是否有一个切实可行的方法来处理所有可能的组合 基本上,我需要将类似于213美元和52美分的东西转换成213.52 有人知道有一个库已经处理了这个问题,或者有一个解决方案已经发布了吗?我在谷歌上搜索了大约一个小时,找到了用文字表示的美元金额。你可以试试WordToNumberConverterNuGet 但是您应该确保输入与格式匹配 右输入的示例:“二十九千和五十五” 当 错误输入的示例:“二十九千和五十五” 如何使用

我正试图找到一种方法(或找到一个库),支持将长货币字符串转换成十进制。我不确定是否有一个切实可行的方法来处理所有可能的组合

基本上,我需要将类似于
213美元和52美分的东西转换成
213.52


有人知道有一个库已经处理了这个问题,或者有一个解决方案已经发布了吗?我在谷歌上搜索了大约一个小时,找到了用文字表示的美元金额。

你可以试试WordToNumberConverterNuGet

但是您应该确保输入与格式匹配

右输入的示例:“二十九和五十五”

错误输入的示例:“二十九和五十五”

如何使用:

    WordToNumberConverter.WordToNumberConverter inst = 
        new WordToNumberConverter.WordToNumberConverter();

    var ddd = inst.ConvertWordToNumber("twenty nine thousand and fifty five");

“人性化者”应该能够在这方面以及更多方面帮助您。 您可以尝试以下链接“”。 正如您在示例中所看到的,它的使用非常简单

1.ToWords() => "one"
10.ToWords() => "ten"
11.ToWords() => "eleven"
122.ToWords() => "one hundred and twenty-two"
3501.ToWords() => "three thousand five hundred and one"

我需要走另一条路,不是
ToWords()
而是
WordsToNumbers()
它有这个功能吗?我觉得有义务说“九千零五十五”不是正确的英语。它应该是“九千五百五十五”-“和”仅用于表示从整数到分数的转换(例如“九千五百五十五和十分之四”),软件或库建议在此不讨论。应该在\