为了账号安全,请及时绑定邮箱和手机立即绑定

double类型与float类型数据值的比较?

double类型与float类型数据值的比较?

qq_阳光下的海风_0 2016-08-30 19:58:09
float f0=4.5f;        double d0=45.0/10;    System.out.println("d0="+d0+"d0=f0吗?"+(d0==f0));//true        float f00=0.1f;        double d00=1.0/10;        System.out.println("d00="+d00+"d00=f00吗?"+(d00==f00));//false请问这是怎么回事呀?两个运算有区别吗?
查看完整描述

3 回答

?
大咪

TA贡献785条经验 获得超332个赞

精准度的问题。。。一个双精一个单精

查看完整回答
反对 回复 2016-08-30
?
yanrun

TA贡献317条经验 获得超240个赞

应该是精度问题,当不同类型的数相互转换的时候可能会因为存储时的精度不同而出现错误,例如在我的电脑上d00-foo=-1.4901161138336505E-9,所以进行比较的时候最好还是使用同种类型的数,否则可能会出现意想不到的错误

查看完整回答
反对 回复 2016-08-30
  • 3 回答
  • 0 关注
  • 2537 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信