【问题标题】:Convert an Integer to a string of words [duplicate]将整数转换为单词字符串[重复]
【发布时间】:2010-10-02 17:40:22
【问题描述】:

可能重复:
C# Convert Integers into Written Numbers

我需要取一个整数值并将其转换为 .NET 中的等效英文单词(即 4 => “四”,1879 => “一千,八百七十九”)(具体为 3.5) .

我想知道 .NET 框架中是否内置了任何东西来进行这种转换。似乎属于那里就足够有用了。我一直找不到任何东西来做这项工作。

如果它没有包含在任何地方的框架中,有没有人有比数字/位置特定查找更优雅的想法?

【问题讨论】:

标签: c# .net


【解决方案1】:

字符串 s 为输入数字

      const string input = "1023";

        string[] placement = { "thousand", "hundred", "ten", "" };
        string[] numbersToLetters = { "", "one", "two", "tre", "four", "five", "six", "seven", "eight", "nine" };

        for (int i = 0; i < input.Length; i++)
        {
            int  digits = input[i] != '0' ? (placement.Length - input.Length) + i : 3;
            int result = int.Parse(input[i].ToString());

            var type = placement[digits];
            var number = numbersToLetters[result];
            Console.WriteLine(number + type);
        }

【讨论】:

    【解决方案2】:

    我所知道的没有任何内置的东西。你只需要做一些数字解析和替换。

    我确实在网上找到了一些例子:

    http://www.dotnetspider.com/resources/2743-Code-Convert-numbers-word.aspx http://www.codeproject.com/KB/cs/codesamples.aspx

    【讨论】:

      【解决方案3】:

      没有直接的功能可以为您转换和创建单词形式。您必须编写程序,基本上您必须对所有数字的值进行硬编码,即 1 一、2 二、...、9 九。然后您还必须处理数十、数百、数千,然后您必须编写逻辑来提取数字并相应地附加单词。

      【讨论】:

        猜你喜欢
        • 2016-05-22
        • 2015-01-03
        • 2020-04-02
        • 2010-11-21
        • 2013-10-06
        • 2015-05-25
        • 2011-07-01
        • 1970-01-01
        相关资源
        最近更新 更多