我想要得到117.3这样的结果。为什么会变成117.30000000000001啊???!
float类型和double类型的结果是不能保证值和你在数学书计算的一模一样,你的这个例子中输出的是117.30000000000001,下一次可能输出的是117.29999999999999,所以在做浮点型数的相等比较时,永远不要直接用一个浮点型的数==一个常量的数,因为很可能不相等,正确的做法是让两个数的差的绝对值小于一个很小的数。
一看就知道不是科班出身了,建议多去了解一下底层的原理。
非计算机专业 转 计算机?
你还可以试一下浮点 0.1 + 0.2 也是不等于0.3的.
参考IEEE 754浮点数标准