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