【发布时间】:2011-11-01 02:10:14
【问题描述】:
我有一种非常简洁的方法来删除十进制值中的尾随零,但我更喜欢一种不涉及字符串往返的方法,就像我目前所做的那样。这是我目前的解决方案:
var value = 0.010m;
value = decimal.Parse(value.ToString("G29"));
Console.WriteLine(value); // prints 0.01 (not 0.010)
它确实有效,但你有更好的方法吗?
另外,作为次要问题的是 decimalValue.ToString() 100% 符合 xs:decimal?
【问题讨论】:
-
- 当然,我可以反复截断和比较小数,直到值不再相等。至少(0.010m == 0.01m)
-
最好的方法是使用 Jon 在此处对同一问题的回答:stackoverflow.com/questions/4298719/…
-
感谢 Gabe 和 Thomas。这看起来就像我正在寻找的东西,虽然需要相当多的代码,但我会接受它。 :-)
-
Remove trailing zeros 的可能副本 - 这也有一个很好的答案:stackoverflow.com/a/7983330/709537