Umwandeln von Int in Float verliert die Präzision für große Zahlen in Swift

XCode 6.3.1 Swift 1.2

let value: Int = 220904525
let intmax = Int.max
let float = Float(value) // Here is an error probably
let intFromFloat = Int(float)
let double = Double(value)
println("intmax=\(intmax) value=\(value) float=\(float) intFromFloat=\(intFromFloat) double=\(double)")
// intmax=9223372036854775807 value=220904525 float=2.20905e+08 intFromFloat=220904528 double=220904525.0

Der anfängliche Wert ist 220904525. Aber wenn ich ihn in Float umwandle, wird er zu 220904528. Warum?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage