在C ++中, floor(9099.96 * 100.0)给出的答案为 909995 。我期待909996。
我无法在这里想到解释。任何帮助将不胜感激。谢谢。
答案 0 :(得分:3)
这是正确的结果:根据IEEE754 calculator,9099.96
的值在9099.9599609375
中表示为double
。乘以100
后,您获得909995.99609375
。通过floor
为您提供909995
。
答案 1 :(得分:0)
尝试ceil。它将始终围绕下一个最大数字,在这种情况下将给你909996.你可能还想看看圆函数。