如何使用1.0E-7(科学符号转换器)进行转换



有一组大于E-6小数的数字吗?

我想用数字E-7把它简单地转换成十进制,例如:8.839E-7

val c = BigDecimal("8.4805E-6")
println(c)
val a = BigDecimal("8.839E-7")
println(a)

第一次打印ln正确:0.000000084805

第二个没有转换:8.839E-7

有人能帮我吗?

您可以在BigDecimal文档中了解toString()使用的特定格式化算法。

如果你想要没有任何科学符号的数字,请使用toPlainString():

println(a.toPlainString())

它转换正确,它只是以这种形式显示这个BigDecimal,因为BigDecimal.toString((方法是这样工作的,来自docs:

否则(即,如果小数位数为负数,或*调整后的指数小于{@code-6}(,则该数字将为*使用指数表示法转换为字符形式。

我建议使用DecimalFormat将BigDecimal格式化为字符串

相关内容

  • 没有找到相关文章

最新更新