在java的學習中,每每算法有一個是屬於java的小數點位數保留。通常有四種方式。
java中保留小數示例:java
/** * 1.BigDecimal經常使用於金額的計算, * 超過16位使用 */ public void m1() { BigDecimal bg = ``new` `BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(f1); } /** * 2.DecimalFormat轉換最簡便 * 用於格式化十進制數字 * 經常使用 */ public void m2() { DecimalFormat df = ``new` `DecimalFormat(``"#.00"``); System.out.println(df.format(f)); } /** * 3.String.format打印最簡便 * 經常使用 */ public void m3() { System.out.println(String.format(``"%.2f"``, f)); } /** * 4.NumberFormat * 是全部數值格式的抽象基類。 */ public void m4() { NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); System.out.println(nf.format(f)); } public static void main(String[] args) { java_01 f = ``new` `java_01(); f.m1(); f.m2(); f.m3(); f.m4(); }
輸出結果:自動四捨五入: 123456.79 123456.79 123456.79 123,456.79
java保留小數的四種方法介紹:
一、BigDecimal
經常使用於金額的計算,超過16位使用
Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。
雖然雙精度浮點型變量double能夠處理16位有效數。在實際應用中,須要對更大或者更小的數進行運算和處理。float和double只能用來作科學計算或者是工程計算,在商業計算中要用java.math.BigDecimal。
BigDecimal所建立的是對象,可是不能使用傳統的+、-、*、/等算術運算符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。git
二、DecimalFormat
它是 NumberFormat 的一個具體子類,用於格式化十進制數字。能夠幫你用最快的速度將數字格式化爲你須要的樣子。算法
三、String.format
打印最簡便。
String.format 做爲字符串格式化,簡單調用 String.format(「Hello %s」, 「John」);
String.format返回的是String類型的字符串。學習
四、NumberFormat
NumberFormat 是全部數值格式的抽象基類。 該類提供了格式化和分析數值的接口。spa
以上四種方式,經常使用的是2,3。
以上就是java怎麼保留小數的詳細內容,但願對你有所幫助。code