java保留小數點后幾位的幾種方法(小數點精確)


java保留小數點后幾位的 幾種方法:

(1)

Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。

雙精度浮點型變量double可以處理16位有效數。

 

方法一:

  使用java.math下的 BigDecimal 類,實例化對象后,調用setScale(精度,方式)方法 

   第一個參數表示 保留多少位小數,第二個參數表示取整的方式

    BigDecimal bd = new BigDecimal();
    bd.setScale(x,BigDecimal.ROUND_HALF_UP).valueFloat()

 

實現代碼:

import java.math.BigDecimal;
public class Test{
    public static void main(String[]args){
        /*方法一:
         * 1.調用 setScale(精度,方式)
         * 2.第一個參數表示 保留多少位小數,第二個參數表示取整的方式
         * 3.BigDecimal.ROUNG_HALF_UP  表示向上取整,即四舍五入
         *   最后返回float 類型參數
         * */
        float num1 = 3.1415926f;
        BigDecimal bd = new BigDecimal(num1);
        float num2  =bd.setScale(2,BigDecimal.ROUND_HALF_UP).floatValue();
        System.out.println(num2);
        
        /*
        * 方法二:
        * */
    }
}

 


(2)

方法二:

DecimalFormat 是 NumberFormat 的一個具體子類,用於格式化十進制數字。

* 1.使用DecimalFormat()
* 2.初始化后,設置輸出的format格式
* 00.## 00表示輸出兩個數字,不足則補0
* ##表示四舍五入保留兩位小數,若最后一位為0,則舍棄


實現代碼:
import java.math.BigDecimal;
import java.text.DecimalFormat;

public class Test{
    public static void main(String[]args){
        /*
        * 方法二:
        * 1.使用DecimalFormat()
        * 2.初始化后,設置輸出的format格式
        *   00.##  00表示輸出兩個數字,不足則補0
        *          ##表示四舍五入保留兩位小數,若最后一位為0,則舍棄
        * */
        float num1 = 3.1415916f;
        DecimalFormat df = new DecimalFormat("00.##");//保留兩位小數
        System.out.println(df.format(num1));
    }
}
 
        

(3

 方法三:         

       利用String類中的 format方法

 String.format("%.2f",需要進行格式化的數字); %.2f表示保留 兩位小數 %.3f表示保留 三位小數
public class Test{
    public static void main(String[]args){
        /*
        * 方法三:
        *       利用String類中的 format方法
        *       String.format("%.2f",需要進行格式化的數字);
        *       %.2f表示保留 兩位小數  %.3f表示保留 三位小數
        * */
        float num = 3.1415926f;
        String num1  = String.format("%.2f",num);
        System.out.println(num1);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM