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

C# 删除尾随的零和千位分隔符(逗号),c#,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"); //pa

因为我用它来删除小数后面没有值的尾随零:

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

有更好的格式类型吗

使用自定义格式

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
您可以阅读有关小数格式的更多信息

工作方式

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

注意


数字格式仍然是特定于区域性的,因此对于使用
作为十进制分隔符和
进行数字分组的区域性,您的数字将显示为
54.321
54.321,55
。您可以在.NET中找到有关格式设置的更多信息。

使用自定义格式

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
您可以阅读有关小数格式的更多信息

工作方式

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

注意


数字格式仍然是特定于区域性的,因此对于使用
作为十进制分隔符和
进行数字分组的区域性,您的数字将显示为
54.321
54.321,55
。你可以在.NET中找到更多关于格式的信息。

考虑到你想要什么,你到底为什么要使用
G29
格式?你们有并没有对可用的标准数字格式字符串以及每一个字符串的作用做过最起码的研究?您可以启动,
54321.556
的格式化输出应该是什么<代码>54321.556?或
54321.56
?@当十进制(.000)后面没有值时,它将被隐藏。
54321.556
的输出应该是
54321.556
。好的,然后阅读提供的链接并进行一些研究。如果不适用(仍然是良好的读取),那么也许读取自定义数字格式字符串可能是一个好主意。为什么要先将数字存储为文本?根据它们的含义,将它们存储为双精度或十进制。考虑到你想要什么,你到底为什么要使用
G29
格式?你们有并没有对可用的标准数字格式字符串以及每一个字符串的作用做过最起码的研究?您可以启动,
54321.556
的格式化输出应该是什么<代码>54321.556?或
54321.56
?@当十进制(.000)后面没有值时,它将被隐藏。
54321.556
的输出应该是
54321.556
。好的,然后阅读提供的链接并进行一些研究。如果不适用(仍然是良好的读取),那么也许读取自定义数字格式字符串可能是一个好主意。为什么要先将数字存储为文本?根据其含义将其存储为双精度或十进制。注释是此答案的实际附加值。它是决定分隔符格式的
ui文化
。注释是此答案的实际附加值。它是决定分隔符格式的
UICulture