如何以货币格式显示数字

时间:2014-02-27 05:08:50

标签: c# asp.net

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

Ex:12345678 我想将此数字显示为1,23,45,678

任何人都可以给出答案。 感谢。

8 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

试试这个

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

答案 2 :(得分:0)

你可以试试这个: -

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

查看 Currency Formatter

  

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

答案 3 :(得分:0)

您可以使用C

使用自定义格式货币格式说明符cToString()

来自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);

答案 4 :(得分:0)

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);

在这里你去......

答案 5 :(得分:0)

string.Format("{0:C}", 12345678)

答案 6 :(得分:0)

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 :(得分:0)

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

所以我采取最后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);
            }