删除尾随零和千位分隔符(逗号)

时间:2018-03-21 10:37:28

标签: c#

因为当我在十进制后面没有值时使用它来删除尾随零:

decimal.Parse(variable).ToString("G29")

但它没有给出千分隔符。例如:

string amount = "54321.00"
string amount2 = "54321.55"
string parsed = decimal.Parse(amount).ToString("G29");
string parsed2 = decimal.Parse(amount2).ToString("G29");
//parsed = 54321
//parsed2 = 54321.55

//my goal
//parsed = 54,321
//parsed2 = 54,321.55

有更好的格式类型吗?

1 个答案:

答案 0 :(得分:2)

使用自定义格式

string format = "#,#.##";

decimal noDecimalPlaces = 54321.00m;
decimal decimalPlaces = 54321.55m;

Console.WriteLine(noDecimalPlaces.ToString(format)); // writes 54,321
Console.WriteLine(decimalPlaces.ToString(format)); // writes 54,321.55

您可以阅读有关格式化小数on msdn的更多信息。

这种方式

后一部分.##指定您允许最多两个小数位。前一部分#,#指定您要分隔值的整数部分。

注意

数字格式仍然是特定于文化的,因此对于使用,作为小数点分隔符和.进行数字分组的文化,您的数字将显示为{{1而是{}和} 54.321。您可以在.NET here中找到有关格式化的更多信息。