在 Scala 中删除 BigDecimal 的尾随零的正确方法是什么?
scala.math.BigDecimal.toString
可以返回类似“0.888200000”的内容。如果我想要“0.8882”,我能做的最好的是什么? java.math.BigDecimal 有用于此目的的 stripTrailingZeros() 方法,但 Scala 的 BigDecimal 似乎缺少它。使用 scala.math.BigDecimal.underlying 获取底层 java.math.BigDecimal 是最好的方法还是 Scala 中有更好的方法吗?
scala.math.BigDecimal.toString
can return something like "0.888200000". What can be the best I can do if I want "0.8882" instead? java.math.BigDecimal
has stripTrailingZeros()
method for this, but Scala's BigDecimal seems lacking it. Is using scala.math.BigDecimal.underlying
to get the underlying java.math.BigDecimal
the best way to go or is there a better way in Scala?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您想访问所有 Java 方法但不想键入
底层
,那么隐式 def 怎么样?您会得到一个 Java
BigDecimal
返回值,但这没关系,因为在导入math.BigDecimal
时,已经有一个返回到 Scala 版本的隐式 def
了。 >,称为javaBigDecimal2bigDecimal
。How about an implicit def if you want access to all the Java methods but don't want to type the
underlying
?You get a Java
BigDecimal
back, but that's OK because there's already animplicit def
back to the Scala version which you get when you importmath.BigDecimal
, calledjavaBigDecimal2bigDecimal
.