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

C# 如果在.Net中不需要,如何最多显示N个小数和无小数?,c#,.net,string,format,C#,.net,String,Format,假设我有这3个浮动: 10, 10.12 10.234 我希望最多打印1个小数,但如果不需要,则不打印小数,如下所示: 10 10.1 10.2 您正在查找ToString中的“#.#”格式。像这样使用它: decimal d = 10M; string str = d.ToString("#.#", CultureInfo.InvariantCulture); 考虑以下示例: List<float> list = new List<float> { 10f, 10

假设我有这3个浮动:

10,
10.12
10.234
我希望最多打印1个小数,但如果不需要,则不打印小数,如下所示:

10
10.1
10.2
您正在查找
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));
}
见:

有关评论:


使用所提供的示例可以很好地工作,但是在0.2版本上使用时,效果会很好 返回。这是唯一的办法吗

使用:
“0.#

如果查看上面指定的
0
,您将发现:

如果有相应的数字,则用相应的数字替换零; 否则,结果字符串中将显示零


对于提供的示例,它可以正常工作,但是当在
0.2
上使用时,它返回
.2
。这是唯一的方法吗?@pepOS,在这种情况下使用
0。#
,我确认它也可以这样工作:string.Format(“{0:#.#}”,1.12f)
10 => 10
10.12 => 10.1
10.234 => 10.2