将Float转换为Int会产生错误的结果

时间:2017-11-02 08:23:23

标签: swift floating-accuracy

我正在解决一个问题并注意到将Float值转换为Int会产生错误的结果。下面是涉及转换的代码片段

while(height >= 0.0){
        height = (v * t) - (0.5*g*t*t)
        if(height >= maxHeight) {
            d_time = t
            maxHeight = height
            print(d_time)
        }
        t += 0.1
    }
    let time = d_time * 10.0
    print(d_time, Int(time)) // it prints 2.4, 23
    return time

但是,如果我尝试转换文字,它的工作正确。 例如

let time = 2.4 * 10.0
print(time) // prints 24 as expected.

我试图找出问题,但无法得到它。 请帮助理解这种行为。

感谢。

0 个答案:

没有答案
相关问题