2017-02-18 55 views
0

遇到一個奇怪的問題。我在下面的響應中打印一個值。在第一個打印語句中,它將打印正確的值,例如Optional(3.0)但是,當我將此值轉換爲浮點數時,它變爲零。第二個打印語句顯示nil。不知道我做錯了什麼。任何指針爲我?像這樣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

嘗試浮動(「您的價值」) –

+0

用'as檢查一次?字符串'而不是'as? Float'。 –

+0

@NiravD也沒有... – KexAri

回答

0

而是與as?運營商鑄造它的字典嘗試做這樣的:Float(response.userInfoDictionary?[RequestedUserConstant.userRatingKey])

+0

'Float'沒有接受'Any'作爲參數的init。 –

0

試試這個:

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

**錯誤:類型'Any?'的值?沒有會員'floatValue'** – OOPer

0

可能存在兩個問題:

第一一個是,您將您的response.userInfoDictionary?[RequestedUserConstant.userRatingKey]分配給userRating,但隨後打印不同的變量w這個名字是tutorRating

第二個是,它不像@Hamish所說的那樣是浮動的。