String 不应出现Int行为
除法结果为Int,但没有正确转换浮点或Double?看起来您在执行纯整数运算,结果被分配给一个字符串值。编译器不可能知道您想要一个浮点值。 最好的办法是直接将字符串值强制转换为如下浮点数String 不应出现Int行为,string,swift,integer,decimal,String,Swift,Integer,Decimal,除法结果为Int,但没有正确转换浮点或Double?看起来您在执行纯整数运算,结果被分配给一个字符串值。编译器不可能知道您想要一个浮点值。 最好的办法是直接将字符串值强制转换为如下浮点数 Label.text = "\(((labelPassedData.text!.toInt()! * labelPassedData2.text!.toInt()!) + (labelPassedData10.text!.toInt()! * labelPassedData11.text!.toI
Label.text = "\(((labelPassedData.text!.toInt()! *
labelPassedData2.text!.toInt()!) + (labelPassedData10.text!.toInt()! *
labelPassedData11.text!.toInt()!))/1600)"
然后除以1600.0,整数总是一个不带小数的整数。如果你需要一个带小数的数字,你需要一个类似于双精度的 此扩展将帮助您从字符串中获取双精度值:
(labelPassedData.text as NSString).floatValue
这样使用:
extension String{
func toDouble() ->Double{
return (self as NSString).doubleValue
}
}
我返回“从字符串强制转换为不相关的类型‘NSString’总是失败”
labelPassedData.text.toDouble() //Your text as Double