let i = 60
let j = 100
let f = Float(i) / Float(j)
let d = Double(i) / Double(j)
let cf = CGFloat(i) / CGFloat(j)
print(i, j, f, d, cf)
60 100 0.6 0.6 0.6
と出力されます。
ブレークポイントを設定して、デバッグエリア(デバッグエリアの左側)の変数の値を確認すると、
f = (Float)0.600000024
d = (Double)0.59999999999999998
c = (CGFloat)0.59999999999999998
と出力されます。
単純に、60/100=0.6となりません。
printでは0.6と出力されます。
これってなんででしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/27 07:04