在 Java 中,您可以使用 BigDecimal.stripTrailingZeros()
删除末尾的任何额外零。
我在这里阅读了一些关于如何在 C# 中从小数中去除尾随零的问题,但它们似乎都没有提供正确的解决方案。
This question例如,执行 ToString("G") 的答案并不总是有效。
理想情况下,我想要一个执行 decimal -> decimal 的函数,新的 decimal 具有尽可能小的比例,而不会丢失任何信息或删除任何尾随零。
有什么方法可以轻松做到这一点?或者它会涉及摆弄 decimal.GetBits()
?
编辑: 还应该添加我有 i18n 担心所以对结果进行字符串操作并不理想,因为小数点分隔符不同。
最佳答案
Decimal.Parse(d.ToString("0.###########################"))
?
关于C# 相当于 BigDecimal.stripTrailingZeros(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5067233/