解決java讀取EXCEL數(shù)據(jù)變成科學(xué)計(jì)數(shù)法的問(wèn)題
BigDecimal bd = new BigDecimal('讀到的值'); String checkValue = bd.toPlainString();
補(bǔ)充:java excel 導(dǎo)出時(shí)長(zhǎng)數(shù)字變成科學(xué)計(jì)數(shù)法的解決方法
今天在做excel導(dǎo)出的時(shí)候,導(dǎo)出的表格中長(zhǎng)度大于11的數(shù)字會(huì)自動(dòng)用科學(xué)計(jì)數(shù)法顯示。
一開(kāi)始,我想著直接將數(shù)據(jù)全部轉(zhuǎn)為string類型,沒(méi)想到還是無(wú)法解決問(wèn)題(可能是excel工具自動(dòng)識(shí)別數(shù)字,又將其轉(zhuǎn)成科學(xué)計(jì)數(shù)了)。
后來(lái)通過(guò)百度發(fā)現(xiàn)了多種解決方法,下面兩種個(gè)人覺(jué)得效率比較高,代碼改動(dòng)最少:
1、將要導(dǎo)出的數(shù)轉(zhuǎn)為BigDecimal類型在使用toPlainString轉(zhuǎn)換為String類型
BigDecimal bigDecimal = new BigDecimal(value);String out = bigDecimal.toPlainString();2、通過(guò)DecimalFormat將數(shù)字轉(zhuǎn)換String類型
String out = new DecimalFormat('0.00').format(value);(其中0.00表示保留的位數(shù))
mysql針對(duì)數(shù)字類型的轉(zhuǎn)換建議使用convert和cast函數(shù),
format(param,2)convert(param, decimal(12,2)) 其中12是數(shù)字的個(gè)數(shù)cast(param as decimal(12,2))
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章: