Label.text = "\(((labelPassedData.text!.toInt()! *
labelPassedData2.text!.toInt()!) + (labelPassedData10.text!.toInt()! *
labelPassedData11.text!.toInt()!))/1600)"
文本只返回一个数字,没有小数。如果答案应该是6.5,只得到6,显然我想改变它但不确定如何。 Haven在整数上工作很多。
答案 0 :(得分:1)
看起来您正在执行纯整数运算,结果被分配给字符串值。编译器无法确定您是否希望拥有浮点值。 最好的办法是直接将字符串值转换为像这样的浮点数
(labelPassedData.text as NSString).floatValue
然后除以1600.0
答案 1 :(得分:0)
整数始终是一个没有小数的圆数。如果您需要带小数的数字,则需要Double
。
此扩展程序将帮助您从字符串中获取双精度值:
extension String{
func toDouble() ->Double{
return (self as NSString).doubleValue
}
}
使用它:
labelPassedData.text.toDouble() //Your text as Double