黑马程序员技术交流社区

标题: int 和float类型转换 [打印本页]

作者: shuimu_88    时间: 2014-8-3 22:23
标题: int 和float类型转换
本帖最后由 shuimu_88 于 2014-8-7 18:04 编辑

运算时,作为精度更低的int应该会向精度更高的float转换且不会导致信息丢失,但是这句代码  float f=5*5.5;   怎么就编译不通过呢??!!错误显示“可能损失精度........


作者: icris    时间: 2014-8-3 22:29
浮点数运算时自动提升到 double ,运算得到一个 double 的数,赋给 float 需要强转
作者: jerom023    时间: 2014-8-3 22:38
浮点数默认类型是double,5*5.5算出来是一个double类型,赋值到float类型的变量里,当然会丢失精度了
作者: hejinzhong    时间: 2014-8-3 22:51
float运算的时候可以在数字后面加f,以区分double  例如:5.5f
作者: a986875894    时间: 2014-8-3 22:53
float f=(5*5.5)f; 把运算结果强制转换
作者: shuimu_88    时间: 2014-8-3 23:09
jerom023 发表于 2014-8-3 22:38
浮点数默认类型是double,5*5.5算出来是一个double类型,赋值到float类型的变量里,当然会丢失精度了 ...

知道了,小数默认是double..




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2