【问题标题】:How to display number in money format如何以货币格式显示数字
【发布时间】:2014-08-17 03:40:39
【问题描述】:

如何在 C# 中以下列格式显示带逗号的数字。

例如:12345678 我想把这个数字显示为 1,23,45,678

谁能回答这个问题。 谢谢。

【问题讨论】:

  • 你好,你的格式规则是什么:3个最后然后是2个?
  • 如果你想要每 3 个数字一个逗号,我会使用 money.ToString("C");
  • 您是否尝试过阅读文档?关于格式字符串的部分?

标签: c# asp.net


【解决方案1】:

据我了解,这是一种印度风格的货币格式。

Console.WriteLine(intValue.ToString("N1", CultureInfo.CreateSpecificCulture("hi-IN")));

其中 intValue 是您要格式化的数字。

对于您问题中的相同输入,您应该得到准确的“1,23,45,678”。

【讨论】:

  • 这样给出 1,23,45,67,890.0,点后如何显示 2 个零。示例 1,23,45,67,890.00 谢谢
  • 尝试用 N2 代替 N1
【解决方案2】:

试试这个

int number = 12345678 ;
Convert.ToDecimal(number).ToString("#,##0");

【讨论】:

    【解决方案3】:
    string.Format("{0:C}", 12345678)
    

    【讨论】:

      【解决方案4】:

      你可以试试这个:-

      Double number = 12345678;
      String output = number.ToString("C2");
      

      查看Currency Formatter

      “C”(或货币)格式说明符将数字转换为字符串 表示货币金额。精度说明符表示 结果字符串中所需的小数位数。如果 精度说明符被省略,默认精度定义为 NumberFormatInfo.CurrencyDecimalDigits 属性。

      【讨论】:

        【解决方案5】:

        您可以使用自定义格式货币格式说明符 Cc 使用 ToString()

        来自 MSDN:自定义格式 cC

        结果:货币价值。

        支持:所有数字类型。

        精度说明符:小数位数。

        默认精度说明符:由 System.Globalization.NumberFormatInfo 定义。

        试试这个:

        int myVal= 12345678;
        string finalVal= myVal.ToString("C");
        Console.WriteLine(finalVal);
        

        试试这个:如果你不想精确。

        int myVal= 12345678;
        string finalVal= myVal.ToString("C0");
        Console.WriteLine(finalVal);
        

        【讨论】:

          【解决方案6】:
          you can use cultureinfo to show currency with your number
          
          decimal dec = 123.00M;
          string uk = dec.ToString("C", new CultureInfo("en-GB"); // uk holds "£123.00"
          string us = dec.ToString("C", new CultureInfo("en-US"); // us holds "$123.00"
          

          【讨论】:

            【解决方案7】:

            嗯,一个非常肮脏的解决方案,但无法确定是否有这种格式。

            所以我拿了最后 3 个,然后是两包:

                        int number = 212345678;
                        string semiRes = number.ToString();
                        var lastThree = semiRes.Substring(semiRes.Length - 3, 3);
                        List<string> resulatArray = new List<string>();
                        resulatArray.Add(lastThree);
                        semiRes = semiRes.Substring(0, semiRes.Length - 3);
                        for (int i = 2; i <= semiRes.Length + 2; i = i + 2)
                        {
                            var start = semiRes.Length - i;
                            var len = 2;
                            if (start < 0)
                            {
                                len = 2 + start;
                                start = 0;
                            }
                            var nextTwo = semiRes.Substring(start, len);
                            resulatArray.Insert(0, nextTwo);
                        }
                        var result = string.Join(",", resulatArray);
                        if (result.StartsWith(","))
                        {
                            result = result.Substring(1);
                        }
            

            【讨论】:

            • 谢谢..以下函数给出相同的结果。Console.WriteLine(intValue.ToString("N1", CultureInfo.CreateSpecificCulture("hi-IN")));
            【解决方案8】:
            int number = 123456789; 
            string Result = number.ToString("#,##0");
            

            试试这个。 希望对你有帮助

            using System.Globalization;
            
            
            NumberFormatInfo info = new NumberFormatInfo();
                    info.NumberGroupSizes = new int[] { 3, 2 };
                    int number = 12345678;
                    string Result = number.ToString("#,#", info);
            

            给你...

            【讨论】:

            • 不是问什么.. 输出是:12,345,678,问题大约是 1,23,45,678
            • 是的 Jurion,最后是 3 个,然后是 2 个一包。谢谢
            猜你喜欢
            • 2011-06-18
            • 1970-01-01
            • 1970-01-01
            • 2022-07-28
            • 2011-07-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-03-23
            相关资源
            最近更新 更多