我需要从覆盆子pi到Watson IoT Platform快速启动服务获得CPU温度。
我这样做是通过使用命令为vcgencmd measure_temp
的节点红色的exec节点来实现的。我想将此温度值作为数字发送到 Watson IOT 节点,但我的exec节点将CPU温度返回为“temp=45.2C
”。我尝试使用论坛上提供的解决方案
msg.payload={"temp":msg.payload.replace("temp=","").replace("'C\n","")};
但是当我提交解决方案时,评分者仍然将O / P视为字符串而不是数字,我该怎么做才能将msg.payload O/P
转换为数字?
答案 0 :(得分:4)
我敢打赌你在做Coursera课程。
也许你没有func check(_ id: int_fast64_t) -> Bool {
var status = false
Alamofire.request(urlCheckUpLicense, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil).responseJSON { (response: DataResponse<Any>) in
switch(response.result) {
case .success(_):
if response.result.value != nil {
print( "test...", response.result.value ?? "success")
if let JSON = response.result.value {
print( "type of Json = ", type(of: JSON))
if let dict = JSON as? NSDictionary {
sta = Int(dict.value(forKey: "status_code") as! int_fast64_t)
if sta == 200 {
status = true
}
else {
status = false
}
}
}
}
break
case .failure(_):
print(response.result.error ?? "Error")
break
}
}
return status // it always return before Alamofire.request is finished.
}
字符串?您执行的converted(parse)
命令是删除不必要的replace()
,实际上它仍然是string
。
因此,您可以考虑将string
或parseInt()
用于剩余的&#34; parseFloat()
&#34;。