显示尾随零,除了整数

Dav*_*001 8 .net c#

是否有一种方法(在.NET中)在使用时从数字中删除尾随零.ToString("..."),但如果数字不是整数,则显示为2位小数:

  1. (12345.00).ToString(...)应显示为12345
  2. (12345.10).ToString(...)应显示为12345.10
  3. (12345.12).ToString(...)应显示为12345.12

是否有1个数字格式字符串可以在所有这些场景中使用?

.ToString("#.##") 几乎可以工作,但没有显示方案2的尾随0 ...

此外,其他文化不是问题,我只想要小数点(不是逗号等)

Ste*_*eve 6

沿着这些方向的东西?

            if (number % 1 == 0)
                Console.WriteLine(string.Format("{0:0}", number));
            else
                Console.WriteLine(string.Format("{0:0.00}", number));
Run Code Online (Sandbox Code Playgroud)

编辑

虽然这个代码中有一个小错误:) 1.001将打印为"1.00"...这可能不是你想要的,如果你需要打印1.001为"1"你需要更改if(. ..)测试检查有限公差.由于这个问题更多的是关于格式化,我将保持答案不变,但在生产代码中你可能想要考虑这种问题.