有像我这样的问题,但我觉得它们已经过时了。
decimal decimalVar = 18000;String formated = decimalVar.ToString(“{0:N}”);打印(格式化);我想要这个结果:
18000.00但我的结果……
你也可以使用
string formated = decimalVar.ToString("N2");
使用 ToString() 要么
ToString()
string formated = $"{decimalVar:N}";
使用字符串插值。
两者都有相同的结果。
您在问题中尝试的内容表明您可能会将这两者中的两个混淆起来。
你在寻找什么 decimalVar.ToString("N2") 。
decimalVar.ToString("N2")
有关更多信息,文档位于: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings
其他例子:
double dblValue = -12445.6789; Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture)); // Displays -12,445.68 Console.WriteLine(dblValue.ToString("N1", CultureInfo.CreateSpecificCulture("sv-SE"))); // Displays -12 445,7 int intValue = 123456789; Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture)); // Displays 123,456,789.0
的 编辑 强> :“N”格式添加分隔符,在您的帖子中,您的“预期结果”不会,因此您可能希望使用“F”代替。 decimalVar.ToString("F2")
decimalVar.ToString("F2")
只是用 ToString("###.00") 像这样
ToString("###.00")
decimal num = 18000; Console.WriteLine(num.ToString("##.00"));
结果 18000.00
18000.00
假设小数值像 decimal num = 18000.22m; 结果会是 18000.22
decimal num = 18000.22m;
18000.22