如題,有時候小數太多, Java會讓它以科學符號的方式呈現,不過這種方式有時並不是我們要的樣子,我們是需要完整的紀錄小數阿。
以下提供兩種方式:
第一種方式就是完整的呈現出來,不過最後會有誤差。
第二種方式則是進行四捨五入,取得我們要的數字即可。
以下為程式碼:
import java.math.BigDecimal; import java.math.RoundingMode; public class test1 { public static void main(String args[]) { //會出現E的情況 double a = 0.0001; a/=3; System.out.println("尚未調整小數點的值: "+a); //不出現E的方法, 使用 BigDecimal類別 BigDecimal b = new BigDecimal(a); String temp = b.toPlainString(); System.out.println("不出現E的方式: "+temp); //取一定的小數值,四捨五入 //setScale函數需要兩個變數, 第一個是取到小數以下第幾位, 第二個則是使用四捨五入還是無條件捨去 //RoundingMode.HALF_UP 是四捨五入 b=b.setScale(8, RoundingMode.HALF_UP); String temp1 = b.toPlainString(); System.out.println("不出現E且四捨五入的方式: "+temp1); } } Output: 尚未調整小數點的值: 3.3333333333333335E-5 不出現E的方式: 0.000033333333333333334930724534128643199437647126615047454833984375 不出現E且四捨五入的方式: 0.00003333
文章標籤
全站熱搜
留言列表