使用逗号打印号码

时间:2014-05-21 06:54:47

标签: c# .net

我使用双号,我想在"之前只显示两位数。"和#34;之后的两位数。"我写这段代码但在c#

中却不是这样
double x = 37.567891;
Console.WriteLine("x={0:D2}", x);

4 个答案:

答案 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参考。