gpt4 book ai didi

scala - 在 Scala 中删除 BigDecimal 的尾随零的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-04 23:28:07 24 4
gpt4 key购买 nike

scala.math.BigDecimal.toString 可以返回类似“0.888200000”的内容。如果我想要“0.8882”,我能做的最好的事情是什么? java.math.BigDecimal 对此有 stripTrailingZeros() 方法,但 Scala 的 BigDecimal 似乎缺少它。使用 scala.math.BigDecimal.underlying 获取底层 java.math.BigDecimal 是最好的方法还是在 Scala 中有更好的方法?

最佳答案

如果您想访问所有 J​​ava 方法但不想输入 underlying ,那么隐式 def 怎么样?

val b = math.BigDecimal("0.888200000")
implicit def bigDecimalToJavaBigDecimal(b: math.BigDecimal) = b.underlying

scala> b.stripTrailingZeros
res1: java.math.BigDecimal = 0.8882

你会得到一个 Java BigDecimal ,但这没关系,因为已经有一个 implicit def 回到你导入 math.BigDecimal 时得到的 Scala 版本,称为 javaBigDecimal2bigDecimal

关于scala - 在 Scala 中删除 BigDecimal 的尾随零的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9154416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com