簡體   English   中英

Swift:如何刪除最后一個字符

[英]Swift: How to remove last character

我正在做一個帶有 eureka 表單(costum 行)的應用程序,問題是當我想用百分比字段計算 firstValue 時計算不正確,因為當我嘗試轉換為 double 時無法轉換 % in double ex:
第一個值 = 34
百分比字段 = 9%
問題是 "9%" 不能轉換為 double 並且值為 0
percentField*firstValue = 0 因為不能轉換 %

代碼 :

func eingabessumeBruttoCalc(forPercentage isPercentage: Bool){
        let rowEingabessumeBrutto: KalkulationRow = (formViewController()?.form.rowBy(tag:"eingabessumeBrutto"))!
       let rowRabatt: KalkulationRow = (formViewController()?.form.rowBy(tag:"rabatt"))!
        let rowSkonto: KalkulationRow = (formViewController()?.form.rowBy(tag:"skonto"))!
        let rowDiverse: KalkulationRow = (formViewController()?.form.rowBy(tag:"diverse"))!
        let rowZielBrutto:KalkulationRow = (formViewController()?.form.rowBy(tag:"zielBrutto"))!
        let rowZielNetto:KalkulationRow = (formViewController()?.form.rowBy(tag:"zielNetto"))!
        let rowEingabessumeNetto:KalkulationRow = (formViewController()?.form.rowBy(tag:"result"))!

        let ValueEingabessumeBrutto = Double(rowEingabessumeBrutto.cell.valueField.text ?? "") ?? 00
        let ValueEingabessumeNetto = Double(rowEingabessumeNetto.cell.valueField.text ?? "") ?? 00


        let ValueZielBrutto = Double(rowZielBrutto.cell.percentageField.text ?? "")  ?? 00
        let totalZielBrutto = ValueEingabessumeBrutto * ValueZielBrutto * 0.01
        rowZielBrutto.cell.valueField.text = total.description

        let ValueRabatt = Double(rowRabatt.cell.percentageField.text ?? "")  ?? 00
        let totalRabatt = ValueEingabessumeBrutto * ValueRabatt * 0.01
        rowRabatt.cell.valueField.text = total.description

        let SkontoValue = Double(rowSkonto.cell.percentageField.text ?? "")  ?? 00
        let rowsSkonto = Double(rowEingabessumeBrutto)-Double(rowRabatt)
        let totalSkonto = rowSkonto * SkontoValue * 0.01
        rowSkonto.cell.valueField.text = total.description

        let ValueDiverse = Double(rowDiverse.cell.percentageField.text ?? "")  ?? 00
        let totalDierse = ValueEingabessumeBrutto * ValueDiverse * 0.01
        rowDiverse.cell.valueField.text = total.description

        let ValueZielNetto = Double(rowZielNetto.cell.percentageField.text ?? "")  ?? 00
        let totalDierse = ValueEingabessumeNetto * ValueZielNetto * 0.01
        rowZielNetto.cell.valueField.text = total.description
 if let text = percentageField.text, !text.isEmpty { percentageField.text?.removeLast() }

這就是我的嘗試。

我想檢查最后一個字符是否是 % 刪除它。

if let text = textField.text, let lastChar = text.last, lastChar == "%" {
    textField.text = String(text.dropLast())
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM