C# .NET 中的 .toString("F") 和 .toString("G") 有什么区别?

问题描述 投票:0回答:1

根据 .NET 文档

decimal value = 16325.62m;
string specifier;

// Use standard numeric format specifiers.
specifier = "G";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    G: 16325.62


specifier = "F";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    F: 16325.62

"F"
"G"
有什么区别?在什么情况下这些会产生不同的结果?

c# tostring
1个回答
0
投票

"F" (Fixed-Point Format)
:此说明符使用定点表示法格式化数值。当您将
"F"
与 ToString() 一起用于小数值(如 16325.62m)时,它会保留指定的小数位数。例如,如果您使用
"F2"
,它将显示两位小数,如 16325.62。

"G" (General Format)
:此说明符根据值自动选择格式。对于十进制数字,
"G"
保留唯一标识数字所需的尽可能多的有效数字,并且不会在小数点后添加尾随零。

在您的示例中,当您在十进制值 16325.62m 上使用

"F"
"G"
ToString()
时,两者都会产生相同的结果,因为有效位数使得它们都显示相同的输出:16325.62。

© www.soinside.com 2019 - 2024. All rights reserved.