将长整数字符串转换为十进制

问题描述 投票:1回答:2

我正在尝试一种方法(或找到一个库),该方法支持将长字符串转换为十进制。我不确定是否可以通过所有可能的组合使用这种实用方法。

基本上,我需要将类似two hundred and thirteen dollars and fifty two cents的东西转换为213.52

有人知道已经处理了这个库,或者已经发布了一个解决方案吗?我已经用Google搜索了大约一个小时,并想出了用词来折算美元的金额。

c#
2个回答
1
投票

您可以尝试WordToNumberConverter NuGet

https://www.nuget.org/packages/WordToNumberConverter/

但是您应该确保输入正确无误

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

使用方法:

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

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

0
投票

Humanizer应该能够为您提供更多帮助。您可以尝试以下链接“ https://github.com/Humanizr/Humanizer#number-to-words”。如示例所示,使用起来非常简单

1.ToWords() => "one"
10.ToWords() => "ten"
11.ToWords() => "eleven"
122.ToWords() => "one hundred and twenty-two"
3501.ToWords() => "three thousand five hundred and one"
© www.soinside.com 2019 - 2024. All rights reserved.