将值转换为Float返回nil

时间:2017-02-18 10:24:23

标签: swift

遇到一个奇怪的问题。我在响应中打印一个值如下。在第一个打印语句中,它将打印正确的值,例如Optional(3.0)然而,当我将此值转换为Float时,它变为零。第二个print语句显示为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)")

4 个答案:

答案 0 :(得分:0)

两个可能的问题:

第一个是,您将response.userInfoDictionary?[RequestedUserConstant.userRatingKey]分配给userRating,然后打印名称为tutorRating的其他变量。

第二个是,它不是像@Hamish所说的浮动。

答案 1 :(得分:0)

这是因为默认情况下,浮点值在内部为Double。那么安全解包的方式是吗?双击

示例:

if let speed = json["averageSpeed"] as? Double {
    //If you need Flot value, simply type cast from Double to Float.
    let floatvalue = Float(speed)
}

答案 2 :(得分:-1)

不要使用String value=null; for(int i=0;i<intrestedIn.size();i++){ value=intrestedIn.get(i); //do whatever you want to do with this value System.out.println(value); } 运算符进行转换,而是尝试这样做:as?

答案 3 :(得分:-1)

试试这个:

// myModelAdmin.js

const $ = django.jQuery;

$(function() {
    $('your-selectors').addClass('markdown');
});