在SWIFT中将两个值字符串类型添加到int

fumotvh3  于 2022-10-04  发布在  Swift
关注(0)|答案(2)|浏览(140)

我有两个字符串类型值,我想将这两个值相减,然后将结果存储在第三个变量中。我如何将这两个字符串类型值相减。

let planPrice = plansArray?[i].spplan_price ?? ""
        let adjustPrice = plansArray?[i].adjustedAmount ?? ""
        let finalPrice = planPrice-adjustPrice
3pvhb19x

3pvhb19x1#

先转换字符串值,然后进行减法

let planPrice = Double(plansArray?[i].spplan_price ?? "") ?? 0.0
let adjustPrice = Double(plansArray?[i].adjustedAmount ?? "") ?? 0.0
let finalPrice = planPrice-adjustPrice
bhmjp9jg

bhmjp9jg2#

你不能在弦上做数学运算。您必须先将它们转换为像Double这样的数值类型。

Double有一个接受字符串的“失败的初始值设定项”。如果字符串不能转换为双精度值,则返回nil。

我建议不要像Nabeel的回答那样使用强行打开 Package 。如果你这样做了,两个字符串中的任何一个都无法转换,你的应用程序就会崩溃。

相反,我会将零结果替换为0。以下代码将起作用:

let planPriceString = plansArray?[i].spplan_price ?? ""
let adjustPriceString = plansArray?[i].adjustedAmount ?? ""
let planPrce = Double(planPriceString) ?? 0.0
let adjustPrice = Double(adjustPriceString) ?? 0.0
let finalPrice = planPrice - adjustPrice

相关问题