还有像我这样的问题,但我觉得它们已经过时了。
decimal decimalVar = 18000;
String formated = decimalVar.ToString("{0:N}");
print(formated);
我想要这个结果:
18000.00
但是我的结果是这样的
{18000:n}
我该怎么做?
答案 0 :(得分:1)
只需像这样使用ToString("###.00")
decimal num = 18000;
Console.WriteLine(num.ToString("##.00"));
结果18000.00
假设像decimal num = 18000.22m;
这样的十进制值
结果将是18000.22
答案 1 :(得分:1)
您要寻找的是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")
答案 2 :(得分:1)
您可以使用
string formated = decimalVar.ToString("N2");
使用ToString()
或
string formated = $"{decimalVar:N}";
使用字符串插值。
两者的结果相同。
您在尝试提出的问题表明您可能正在混淆这两个中的两个。