什么是在Scala中删除BigDecimal的尾随零的正确方法?
发布时间:2020-12-16 09:05:42 所属栏目:安全 来源:网络整理
导读:scala.math.BigDecimal.toString可以返回类似“0.888200000”的内容.如果我想要“0.8882”而我可以做的最好的事情是什么? java.math.BigDecimal有这个的stripTrailingZeros()方法,但 Scala的BigDecimal似乎缺乏它.使用scala.math.BigDecimal.underlying来获
scala.math.BigDecimal.toString可以返回类似“0.888200000”的内容.如果我想要“0.8882”而我可以做的最好的事情是什么?
java.math.BigDecimal有这个的stripTrailingZeros()方法,但
Scala的BigDecimal似乎缺乏它.使用scala.math.BigDecimal.underlying来获取底层的java.math.BigDecimal是最好的方法还是Scala中有更好的方法?
解决方法
如果要访问所有
Java方法但不想键入底层,那么隐式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,但是没关系,因为你导入的Math.BigDecimal(称为javaBigDecimal2bigDecimal)已经隐藏了对Scala版本的def. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读