基本数据类型

8种基本数据类型:byte,short,int,long,double,float,char,boolean,

基本类型 默认值 存储 对应的包装类 数据范围
byte 0 1个字节 java.lang.Byte [-2^7,2^7-1]
int 0 4个字节 java.lang.Integer [-2^31,2^31-1]
short 0 2个字节 java.lang.Short [-2^15,2^15-1]
long 0L或0l 8个字节 java.lang.Long [-2^63,2^63-1]
double 0.0或0.0D(d) 8个字节 java.lang.Double 64位IEEE 754双精度范围
float 0.0F或0.0f 4个字节 java.lang.Float 32位IEEE 754单精度范围
char ‘\u0000’ 2个字节 java.lang.Character [0,2^16-1]
boolean false 1个字节 java.lang.Boolean true\false

为什么不能用浮点型表示金额?

在java中,一般来说,我们的单精度float和双精度double已经可以满足我们的大部分需求了。但是不管是float和double都会出现浮点的误差,而这点误差在一般情况下并不影响我们的使用。

但是,在金融行业,一个小小的精度误差,可能会导致成千上万的损失,甚至严重点来说,可能会有牢狱之灾。因此,我们必须去严格的计算每一个小数点的值,不能出现任何误差。

也因此,出现了我们现在的这个问题,为什么不能用float和double等等等的浮点型来表示金额?

Copyright © 深山老猿 all right reserved,powered by Gitbook 文件最后修改时间: 2019-06-27 15:06:04