在控制台应用程序中,我创建了2个小数:
使用文字值
使用字符串解析
我将文化设置为“ en-GB”
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-GB");
Decimal money = 14343431.948M;
Decimal moneyConversion = decimal.Parse("-34,555.897");
string decimalString = money.ToString("N3");
string moneyConversionString = moneyConversion.ToString("N3");
Console.WriteLine("Decimal value: " + decimalString); //prints 14,343,431.948
Console.WriteLine("Decimal value Converted: " + moneyConversion); //-34555.897
第一行写出预期的十进制表示,而第二行写出-34555.897,但是我期待的是-34,555.897,我缺少分隔千位的逗号。怎么来的?
最佳答案
这就是问题:
Console.WriteLine("Decimal value Converted: " + moneyConversion); //-34555.897
您使用的是
moneyConversion
(decimal
值)而不是moneyConversionString
。如果将其更改为:Console.WriteLine("Decimal value Converted: " + moneyConversionString);
您将获得所需的格式。否则,您只是有效地调用
moneyConversion.ToString()
,它将使用默认的“ G”格式。关于c# - 解析后小数未显示group(千)分隔符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34112125/