java基础数据类型小知识

数据类型的扩展

银行业务的处理

说到数字,我们可能第一想到的是int 、浮点型数据类型

但是对于“钱”来说,用浮点型数据类型是不行的,Int更是不可以

为何浮点型不可以?

  • 因为浮点型float double是有限的,离散的,舍入误差的,大约,接近但是不相等
  • 我们在处理这些需要精度的数据的时候应该要避免使用浮点数
float f=0.1f;    //0.1
double d=1.0/10;   //0.1
System.out.println(f==d);   //false
float d1=2212121454554f;
float d2=d1+1;
System.out.println(d1==d2)   //true
    

可见使用时浮点型进行比较是不精确的

那么,应该要什么数据处理银行业务?

用java数学工具类 BigDecimal

类型转换

int i=128;

byte b=(int)i;  //由高到低   强制转换
double b=i;     //由低到高   自动转换


posted @ 2020-03-23 21:49  三毛是学IT掉发的  阅读(150)  评论(0编辑  收藏  举报