万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    SwiftでDoubleの型の比較調査

    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じゃない")
            }

    警告はこれの事 f:id:shinriyo:20220407174638p:plain

    '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"]