基于Bigdecimal科學(xué)計數(shù)問題
Bigdecimal科學(xué)計數(shù)問題
今天做后臺報表導(dǎo)出功能數(shù)據(jù)在小數(shù)點八位之后會出現(xiàn) 0E-8類似的問題
主要是數(shù)據(jù)轉(zhuǎn)換問題
一行代碼輕松搞定
new BigDecimal (String.valueOf(value))).toPlainString()
Bigdecimal與科學(xué)計數(shù)法(轉(zhuǎn)String)問題
BigDecimal是處理高精度的浮點數(shù)運(yùn)算的常用的一個類
當(dāng)需要將BigDecimal中保存的浮點數(shù)值打印出來,特別是在頁面上顯示的時候,就有可能遇到預(yù)想之外的科學(xué)技術(shù)法表示的問題。
一般直接使用 BigDecimal.toString()方法即可以完成浮點數(shù)的打印。但是,toString()方法輸出的字符串并不能保證不是科學(xué)計數(shù)法。
比如直接這么寫:
System.out.println( new BigDecimal("0.000000000000").toString());程序的輸出結(jié)果為:
0E-12
這是我們不希望出現(xiàn)的結(jié)果。
正確的寫法:
System.out.println( new BigDecimal("0.000000000000").toPlainString());程序輸出的結(jié)果為:
0.000000000000
如果我們希望去除末尾多余的0,那么我們應(yīng)該這么寫:
System.out.println( new BigDecimal("0.000000000000").stripTrailingZeros().toPlainString());其中,stripTrailingZeros()函數(shù)就是用于去除末尾多余的0的
程序輸出的結(jié)果為:
0
測試截圖

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot教程_創(chuàng)建第一個SpringBoot項目
這篇文章主要介紹了SpringBoot教程_創(chuàng)建第一個SpringBoot項目,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
Spring MVC學(xué)習(xí)教程之視圖深入解析
這篇文章主要給大家介紹了關(guān)于Spring MVC學(xué)習(xí)教程之視圖解析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或使用spring mvc具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2018-11-11
Intelli IDEA安裝Scala插件并安裝Scala軟件和配置環(huán)境變量的詳細(xì)教程
這篇文章主要介紹了Intelli IDEA安裝Scala插件并安裝Scala軟件和配置環(huán)境變量的詳細(xì)教程,需要的朋友可以參考下2020-10-10

