0
じゃないとだめなのか 0.0
でやるか?
as Double
いるかどうか。
let a: Double = 0 if a == 0 { print("== 0") } else { print("== 0じゃない") } if a == 0 as Double { print("== 0 as Double") } else { print("== 0 as Doubleじゃない") } if a == 0.0 { print("== 0.0") } else { print("== 0.0じゃない") } if a == 0.0 as Double { print("== 0.0 as Double") } else { print("== 0.0 as Doubleじゃない") } let defaultsKey = "defaultsKey" let defaults = UserDefaults.standard let doubleValue = defaults.double(forKey: defaultsKey) switch doubleValue { case 0: print("case 0") default: print("case 0じゃない") } switch doubleValue { case 0.0: print("case 0.0") default: print("case 0.0じゃない") } switch doubleValue { case 0 as Double: // ここは警告出た print("case 0 as Double") default: print("case 0 as Doubleじゃない") } switch doubleValue { case 0.0 as Double: // ここは警告出た print("case 0.0 as Double") default: print("case 0.0 as Doubleじゃない") }
警告はこれの事
'as' test is always true
結果ログ
["== 0"] ["== 0 as Double"] ["== 0.0"] ["== 0.0 as Double"] ["case 0"] ["case 0.0"] ["case 0 as Double"] ["case 0.0 as Double"]