我使用双号,我想在"之前只显示两位数。"和#34;之后的两位数。"我写这段代码但在c#
中却不是这样double x = 37.567891;
Console.WriteLine("x={0:D2}", x);
答案 0 :(得分:1)
您使用的是十进制格式。它应该是:
double x = 37.567891;
Console.WriteLine("x={0:F2}", x % 100);
您也可以使用
double x = 37.567891;
Console.WriteLine("x={0}", (x % 100).ToString("##.##"));
“modulo”运算符(%
)确保只输出小数分隔符前的最后一位数字。
如果您想将123.456
打印为123.45
,请删除相应位置的% 100
。
答案 1 :(得分:1)
格式化浮点值(例如Double
)时,有 两个 的可能性:
您可以指定所有数字的数量(在您的情况下 4 )
// for 37.567891 it will be 37.57
// for 137.567891 it will be 137.6
double x = 37.567891;
Console.WriteLine("x={0:G4}", x);
您可以在小数点分隔符后指定位数(在您的情况下 2 )
// for 37.567891 it will be 37.57
// for 137.567891 it will be 137.57
double x = 37.567891;
Console.WriteLine("x={0:F2}", x);
答案 2 :(得分:1)
double x = 37.567891;
Console.WriteLine(x.ToString("0.##"));
答案 3 :(得分:0)
double x = 37.567891;
Console.WriteLine(x.ToString("N")); //output 37.57
Console.WriteLine(x.ToString("0.00")); //output 37.57
您还可以打印与文化无关的值:
Console.WriteLine(x.ToString("00.00", CultureInfo.InvariantCulture)); //output 37.57
请参阅Custom Numeric Format上的MSDN参考。