2016-05-05 21 views
0

浮動小数点データ型をFirebaseに保存して取得しようとしています。私は罰金を節約することができ、それは以下のように構造化されています。Firebase:浮動小数点の保存と取り込み(Swift)

オプション(8.19999981)

オプション(8.69999981:私はコード

for child in snapshot.children.allObjects as! [FDataSnapshot] { 

      let rating = child.value["rating"] as? Float 
      print(rating) 

を使用して値を取得しようとしたときしかし、私は次のように取得しています

Firebase Screenshot

オプション(9.1999998 1)

これを防ぐにはどうすればよいですか?

答えて

3

Firebaseはフロートタイプを直接サポートしていません。一般的に文字列としてあなたの番号を保存するか、または保存するときのNSNumberにそれをラップし、。

let p = 3.14159265 
let n = NSNumber(float: Float(p)) 

print(n) 

に読み戻す際の選択肢の多くが同様に存在することを逆にして数値表現は、のNSNumberによってサポートされています。

+0

ああ、私はそれを実現していませんでした。完璧に働いた、ありがとう! – FortuneFaded

+0

待ち、実際にはまだランダムに発生しています...私はそれを格付け= NSNumber(浮動小数点:(Float(ratingInput))として保存しています!)を除いて上記と同じ方法で取得しています! NSNumber – FortuneFaded

+0

私はこのメソッドを使用して丸めてしまいました[http://stackoverflow.com/questions/27338573/rounding-a-double-value-to-x-number-of-decimal-places-in-swift](http ://stackoverflow.com/questions/27338573/rounding-a-double-value-to-x-number-of-decimal-places-in-swift) – FortuneFaded

関連する問題