0

我想删除小数的拖尾零。它从 DB 加载,精度为 5。

我正在使用逗号 (,) 是小数点的文化。

例如:

  • 10,00050 -> 10,0005
  • 10,00000 -> 10
  • 0,00000 -> 0
  • 0,00001 -> 0,00001

我可以使用通用(“G”)格式说明符,但我在任何时候都不想要科学记数法。

BR,米。

4

3 回答 3

3

您可以使用自定义数字格式字符串

decimal d = 12.45600m;
d.ToString("0.#####");
于 2012-11-15T16:37:06.807 回答
0

可能有更优雅的解决方案,但这适用于字符串。

string[] decimals = {
                                "10,00050",// -> 10,0005
                                "10,00000",// -> 10
                                "0,00000",// -> 0
                                "0,00001",// -> 0,00001
                             };
        foreach (string dec in decimals)
        {
            Console.WriteLine(" {0} -> {1}", dec, decimal.Parse(dec.TrimEnd(new char[] { '0' })));
        }
于 2012-11-15T16:37:02.920 回答
-1

试试“N”,如果数字是一千或更高,它会添加逗号。

于 2012-11-15T16:33:33.943 回答