free-discipline

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

//错误案例

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

 

分类:

技术点:

相关文章:

  • 2021-11-23
  • 2022-12-23
  • 2021-05-27
  • 2022-12-23
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-10
  • 2022-12-23
  • 2021-09-15
  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案