不能在 swift 中划分两个 NSNumbers?
Cannot divide two NSNumbers in swift?
我有两个 NSNumbers 我想划分,但在代码的最后一行我得到错误:"Cannot invoke '/' with an argument list of type '(@Ivalue NSNumber,@Ivalue NSNumber)'"
var firstnumber: NSNumber = object["numberone"] as NSNumber
var secondnumber: NSNumber = object["numbertwo"] as NSNumber
var calculated: NSNumber = firstnumber / secondnumber
谁能帮我解决这个问题?
我猜你的 number1 和 number2 是 Float 或 Double,以 Float 为例:
var caculated = firstnumber.floatValue / secondnumber.floatValue as NSNumber
NSNumber 是一个对象,它包含一个值,可以通过使用其属性(例如 floatValue
、integerValue
等)将其作为不同类型检索。 NSNumber
所以 nsnumber1 / nsnumber2
就像 uiview1 / uiview2
如果您需要对 NSNumber
执行除法,您需要使用 NSDecimalNumber
。
所以需要按如下方式进行除法:
let object = ["numberone" : "33", "numbertwo" : "33"]
var firstnumber: NSDecimalNumber = NSDecimalNumber(string: object["numberone"])
var secondnumber: NSDecimalNumber = NSDecimalNumber(string: object["numbertwo"])
var calculated: NSDecimalNumber = firstnumber.decimalNumberByDividingBy(secondnumber)
我有两个 NSNumbers 我想划分,但在代码的最后一行我得到错误:"Cannot invoke '/' with an argument list of type '(@Ivalue NSNumber,@Ivalue NSNumber)'"
var firstnumber: NSNumber = object["numberone"] as NSNumber
var secondnumber: NSNumber = object["numbertwo"] as NSNumber
var calculated: NSNumber = firstnumber / secondnumber
谁能帮我解决这个问题?
我猜你的 number1 和 number2 是 Float 或 Double,以 Float 为例:
var caculated = firstnumber.floatValue / secondnumber.floatValue as NSNumber
NSNumber 是一个对象,它包含一个值,可以通过使用其属性(例如 floatValue
、integerValue
等)将其作为不同类型检索。 NSNumber
所以 nsnumber1 / nsnumber2
就像 uiview1 / uiview2
如果您需要对 NSNumber
执行除法,您需要使用 NSDecimalNumber
。
所以需要按如下方式进行除法:
let object = ["numberone" : "33", "numbertwo" : "33"]
var firstnumber: NSDecimalNumber = NSDecimalNumber(string: object["numberone"])
var secondnumber: NSDecimalNumber = NSDecimalNumber(string: object["numbertwo"])
var calculated: NSDecimalNumber = firstnumber.decimalNumberByDividingBy(secondnumber)