没想到我在这么简单的运算中犯错了
//错误案例
int num=1502; double val = num/1024; System.out.println("val="+val);
改:
DecimalFormat是NumberFormat的一个具体子类,用于格式化十进制数字。它有各种各样的功能,可以在任何语言环境下解析和格式化数字,包括支持西文、阿拉伯文和印度文数字。
它还支持不同类型的数字,包括整数(123)、定点数字(123.4)、科学记数法(1.23E4)、百分比(12%)和货币金额(123美元)。所有这些都可以本地化。
要获取特定区域设置(包括默认区域设置)的NumberFormat,请调用NumberFormat的工厂方法之一,例如getInstance()。通常,不要直接调用DecimalFormat构造函数,因为NumberFormat工厂方法可能返回DecimalFormat以外的子类。
//import java.text.DecimalFormat; int num=1502; DecimalFormat df = new DecimalFormat("0.00"); String val=df.format((float)num/1024); System.out.println("val:"+val);
扩展:
System.out.println((1*0.3)==0.3);//true System.out.println((0.1*3)==0.3);//false