2017-02-18 2 views
0

次のように回答に値を表示しています。最初のprint文では、正しい値が出力されます。 Optional(3.0)しかし、この値をFloatにキャストすると、nilになります。 2番目のprint文はnilを表示します。私が間違っていることについて何の考えもない。私のための任意のポインタ?浮動小数点値へのキャスト値はゼロ以外の値を返します。

let userRating = response.userInfoDictionary?[RequestedUserConstant.userRatingKey].floatValue 
+0

try float( "あなたの値") –

+0

'で'?文字列 'の代わりに'?フロート。 –

+0

@NiravDもnil ... – KexAri

答えて

0

代わりas?オペレータでそれをキャストするような辞書はこのようにそれをやってみてください1つは、response.userInfoDictionary?[RequestedUserConstant.userRatingKey]userRatingに割り当てますが、別の変数w名前はtutorRatingです。

@Hamishが言うように、2番目のものは浮動小数点ではありません。

+0

'Float'は' Any'を引数として受け入れるinitを持っていません。 –

0

はこれを試してみてください。そうuserInfoDictionary: [String: Any]?

print("The rating is \(response.userInfoDictionary?[RequestedUserConstant.userRatingKey])") 
let userRating = response.userInfoDictionary?[RequestedUserConstant.userRatingKey] as? Float 
print("The rating is now \(tutorRating)") 
+0

**エラー: 'Any?'タイプの値メンバー 'floatValue'はありません** – OOPer

0

二つの可能な問題:

最初Float(response.userInfoDictionary?[RequestedUserConstant.userRatingKey])

関連する問題