java 除数运算获取两位小数

没想到我在这么简单的运算中犯错了

//错误案例

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

 

posted @ 2021-08-23 10:56  回溯者  阅读(366)  评论(0编辑  收藏  举报