Java中小數精度問題


代碼如下:主要是利用java中寫好的DecimalFormat類進行設置(#,0,%)

import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Scanner;
public class Main{

public static void main(String []args){

    double num=21.4555;
    long n=453217964;
    System.out.println(new DecimalFormat("#.##%").format(num));//以百分比方式計數,並取兩位小數 
    System.out.println(new DecimalFormat("#.##").format(num));//保留兩位(4舍5入)
    System.out.println(Math.floor(num*100)/100);//向下取整
    System.out.println(new DecimalFormat("#.#####E0").format(n));//顯示為科學計數法,並取五位小數 
    System.out.println(new DecimalFormat(",###").format(n));//每三位以逗號進行分隔。
    
    /*
     * DecimalFormat 類主要靠 # 和 0 兩種占位符號來指定數字長度。
     * 0 表示如果位數不足則以 0 填充,
     * # 表示只要有可能就把數字拉上這個位置。
     */

}



}

控制台顯示如下:

 


免責聲明!

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



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