C# 相当于 BigDecimal.stripTrailingZeros()

标签 c# decimal strip

在 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/

相关文章:

java - Java 中从部分 32 位值计算部分十进制值的最佳方法是什么

c# - 组间正则表达式替换

c# - 从接口(interface)方法获取委托(delegate)

c# - 试图分解文件以使代码更易于阅读;有什么捷径可以避免过度缩进吗?

c# - 在 C# + WPF 中读取计算机属性

将十六进制数字转换为十进制以进行比较 (C)

c# - 十进制值舍入 .99

python - 如何在 python 中去除文件中文本中的\n,然后计算文本中包含超过 n 个字母的单词?

python - 如何在给定不需要的字符列表的情况下去除字符串? Python

python - 在每个列表项中的字符之后删除所有列表项中的文本 Python