DecimalFormat的使用以及一个精度丢失的案例
DecimalFormat的使用
public static void main(String[] args) {
new DecimalFormat("00.00").format(3.14);
new DecimalFormat("0.000").format(3.14);
new DecimalFormat("00.000").format(3.14);
new DecimalFormat("0.000").format(13.146);
new DecimalFormat("00.00").format(13.146);
new DecimalFormat("0.00").format(13.146);
new DecimalFormat("##.##").format(3.14);
new DecimalFormat("#.###").format(3.14);
new DecimalFormat("##.###").format(3.14);
new DecimalFormat("#.###").format(13.146);
new DecimalFormat("##.##").format(13.146);
new DecimalFormat("#.##").format(13.146);
new DecimalFormat("#.00%").format(13.146);
long c = 299792458;
System.out.println(new DecimalFormat("#.#####E0").format(c));
System.out.println(new DecimalFormat("00.####E0").format(c));
System.out.println(new DecimalFormat(",###").format(c));
System.out.println(new DecimalFormat("光速大小为:###m/s").format(c));
}
精度丢失的案例
public static void main(String[] args) {
double a = 0.58d;
int b = (int) (a*100);
System.out.println(b);
System.out.println(a*100);
DecimalFormat df1 = new DecimalFormat("###0.00");
String format = df1.format(a*100);
System.out.println(format);
}