基于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ù)運算的常用的一個類
當(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)文章
Idea連接數(shù)據(jù)庫并執(zhí)行SQL語句的方法示例
這篇文章主要介紹了Idea連接數(shù)據(jù)庫并執(zhí)行SQL語句的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
java學(xué)生管理系統(tǒng)界面簡單實現(xiàn)(全)
這篇文章主要為大家詳細(xì)介紹了java學(xué)生管理系統(tǒng)界面的簡單實現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01
IDEA使用MyBatisCodeHelperPro來generator代碼的詳細(xì)教程
這篇文章主要介紹了IDEA使用MyBatisCodeHelperPro來generator代碼的詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
Java中if...else語句使用的學(xué)習(xí)教程
這篇文章主要介紹了Java中if...else語句使用的學(xué)習(xí)教程,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-11-11

