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 填充,
     * # 表示只要有可能就把数字拉上这个位置。
     */

}



}

控制台显示如下:

猜你喜欢

转载自www.cnblogs.com/cstdio1/p/11614568.html
今日推荐