发现下面的输出很奇怪。是真的吗?
double rate = 11/12; // outputs 0.0
double rate = 11.00/12; // outputs 0.916666667;为什么会有这么大的差别?
发布于 2015-06-05 13:56:48
在第一种情况下,首先进行除法,使整数除以整数,即,11/12=0,然后将该整数转换为双.ie,0.0。在第二种情况下,双(11.00)除以整数( 12 ),然后自动键入.The整数12,按类似类型进行除法。这个除法给出了一个在现实中是精确的双值(0.916666667)。
请参阅此链接https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html
https://stackoverflow.com/questions/30668311
复制相似问题