Java中double变量精确到小数点后几(2)位

import java.math.BigDecimal;

import java.text.NumberFormat;



public class Java中double类型的数据精确到小数点后两位 {



	/**

	 * @param args

	 */

	public static void main(String[] args) {

		//1

		double f = 749.1666666666666; 

		BigDecimal b = new BigDecimal(f);

		double f1 = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();

		System.out.println("f="+f1);

		//2

		String t=new java.text.DecimalFormat("#.00").format(749.1666666666666);

		System.out.println("t="+t);

		//3

		double d = 749.1666666666666;

		String result = String .format("%.2f",d);

		System.out.println("result="+result);

		//4

		NumberFormat ddf1=NumberFormat.getNumberInstance() ;

		System.out.println("ddf1="+ddf1.format(749.1666666666666));		

	}

}

程序结果如下:

 

f=749.17

t=749.17

result=749.17

ddf1=749.167

 

你可能感兴趣的:(double)