      デフォルトは任意の値が返る
      */
     func getInt(key: Key, defaultValue: Int) -> Int {
-        return self[key] as? Int ?? defaultValue
+        let value = self[key]
+        if let value = value as? Int {
+            return value
+        } else if let value = value as? String {
+            return Int(value) ?? defaultValue
+        } else if let value = value as? Bool {
+            return value ? 1 : 0
+        } else {
+            return defaultValue
+        }
     }
     
     /**

     デフォルトは任意の値が返る
     */
    func getDouble(key: Key, defaultValue: Double) -> Double {
        return self[key] as? Double ?? defaultValue
    }
    
    /**

     デフォルトは任意の値が返る
     */
    func getFloat(key: Key, defaultValue: Float) -> Float {
        let value = self[key]
        if let value = value as? Float {
            return value
        } else if let value = value as? String {
            return Float(value) ?? defaultValue
        } else {
            return defaultValue
        }
    }
    
    /**
