问题在Swift中乘以两个字符串值

问题描述 投票:-1回答:1

我的标签中有两个String类型的值。我试图将这些值相乘。当我乘以它时,我得到错误或找到零值。我试过这段代码:

let percentage = (Int(self.subTotalLbl.text!)! * Int(self.totalDiscount)) / 100
print(self.perTotal)
let grandTotal = Int(self.subTotalLbl.text!)! - percentage
self.grandTotalLbl.text =  String(grandTotal)

我很困惑为什么它显示零值。我使用过断点。值也很好但是当它们传递给百分比时它会崩溃应用程序。

ios swift
1个回答
0
投票

您需要正确处理可选值并将字符串转换为数字。

if let text = self.subTotalLbl.text, let subtotal = Int(text) {
    let percentage = subtotal * Int(self.totalDiscount) / 100
    let grandTotal = subTotal - percentage
    self.grandTotalLbl.text = "\(grandTotal)"
}

我假设self.totalDiscount是一些数字数据类型。

如果由于某些奇怪的原因self.totalDiscountString,则代码必须是:

if let text = self.subTotalLbl.text, let subtotal = Int(text), let discount = Int(self.totalDiscount) {
    let percentage = subtotal * discount / 100
    let grandTotal = subTotal - percentage
    self.grandTotalLbl.text = "\(grandTotal)"
}
© www.soinside.com 2019 - 2024. All rights reserved.