bigdecimal避免科学计数,bigdecimal 科学计数转普通计数
目录
Bigdecimal科学计数问题主要是数据转换问题。Bigdecimal和科学计数法的测试截图(转字符串)
今天00-1010,后台报表导出功能的数据会出现类似的小数点后八位0E-8的问题。
Bigdecimal科学计数问题
一行代码轻松搞定
new BigDecimal(string . value of(value)))。toPlainString()
主要是数据转换问题
BigDecimal是处理高精度浮点运算的常用类。
当需要打印存储在BigDecimal中的浮点值时,尤其是在页面上显示时,可能会出现科学技术表示上的意外问题。
通常,可以使用BigDecimal.toString()方法直接打印浮点数。但是,toString()方法输出的字符串不能保证是科学的计数方法。
比如直接这么写:
system . out . println(new BigDecimal( 0.00000000000 )。toString());程序的输出结果是:
0E-12
这是我们不希望的结果。
正确的写法:
system . out . println(new BigDecimal( 0.00000000000 )。toPlainString());程序的输出结果是:
0.000000000000
如果我们想去掉末尾多余的0,那么我们应该这样写:
system . out . println(new BigDecimal( 0.00000000000 )。stripTrailingZeros()。toPlainString());其中,stripTrailingZeros()函数用于去除末尾多余的零。
程序的输出结果是:
0
Bigdecimal与科学计数法(转String)问题
以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。