如果在.Net中不需要,如何显示最多N个小数,不显示小数?

时间:2014-12-11 17:43:04

标签: c# .net string format

说我有这3个花车:

10,
10.12
10.234

我想打印最多1位小数,但如果不需要则不打印小数,如下所示:

10
10.1
10.2

1 个答案:

答案 0 :(得分:0)

您正在"#.#"中寻找ToString格式。使用它像:

decimal d = 10M;
string str = d.ToString("#.#", CultureInfo.InvariantCulture);

考虑以下示例:

List<float> list = new List<float> { 10f, 10.12f, 10.234f };
foreach (var item in list)
{
    Console.WriteLine("{0} => {1}", item, item.ToString("#.#", CultureInfo.InvariantCulture));
}

你会得到:

10 => 10
10.12 => 10.1
10.234 => 10.2

请参阅:Custom Numeric Format Strings - MSDN

评论:

  

使用提供的示例工作正常,但在0.2上使用它时   返回.2。这是唯一的方法吗? -

使用:"0.#

如果您查看上面指定的link,那么对于0,您会发现:

  

如果存在,则用相应的数字替换零;   否则,结果字符串中会出现零。