字符串格式的一个小数

时间:2010-11-30 06:41:22

标签: c# asp.net vb.net

我的数字低于数字。我想在小数点后显示一位数。如何格式化?

2.85
2
1.99

我正在使用(“{0:0.0}”。但数据显示为

2.9 //It should be 2.8
2.0 //It should be 2
2.0 //It should be 1.9

2 个答案:

答案 0 :(得分:7)

尝试使用"{0:0.#}"作为格式字符串。但是,这只会修复.0。要将舍入修复为始终向下舍入,您可能需要使用:

string s = (Math.Floor(value * 10) / 10).ToString("0.#");

答案 1 :(得分:2)

Decimal[] decimals = { new Decimal(2.85), new Decimal(2), new Decimal(1.99) };

foreach (var x in decimals)
{
  Console.WriteLine(string.Format("{0:0.#}", Decimal.Truncate(x * 10) / 10));
}

// output
2.8
2
1.9