在JAVA表达式中,1.0/2*(a*x+(a+x)/4.0/a 为什么当中的()有些阿拉伯数字要精确到0.1位呢?

在JAVA表达式中,1.0/2*(a*x+(a+x)/4.0/a 为什么当中的()有些阿拉伯数字要精确到0.1位呢?
在JAVA表达式中,1.0/2*(a*x+(a+x)/4.0/a 为什么当中的()有些阿拉伯数字要精确到0.1位,而有些又不用呢?
hddhtt 1年前 已收到1个回答 举报

tiancaibuluo 幼苗

共回答了16个问题采纳率:100% 举报

这个和类型转换有关系,1/2=0,因为int类型相除,结果只能仍然是int型
1.0/2=0.5,有一个是double型,结果会得到double型,因为double取值范围更广
你去仔细看一下表达式运算时类型转换

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.021 s. - webmaster@yulucn.com