在 UIStepper 中使用字符串 - Swift
using String with UIStepper - Swift
我有一个标签和一个 UIStepper,我需要在不丢失字母 (Kd) 的情况下增加该标签的数量。我的标签将是这样的“5.000 Kd”,当我增加数字时,我不想丢失 ( Kd ) 标签。
这是我的代码
import UIKit
import GMStepper
class ViewController: UIViewController {
@IBOutlet var stepper: GMStepper!
@IBOutlet var price: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func stepper(_ sender: Any) {
let label = "5.000 Kd" as NSString
price.text! = String(label.doubleValue * stepper.value)
}
}
如果您对标签的字符串内容进行硬编码,只需维护一个数值并在每次该值更改时重建标签内容:
class ViewController: UIViewController {
@IBOutlet var stepper: GMStepper!
@IBOutlet var priceLabel: UILabel!
var price: Double = 5.0
@IBAction func stepper(_ sender: Any) {
let newValue = price * stepper.value
//Format the price with 3 decimal places
let priceString = String(format: "%.3f", newValue)
Construct a string with the formatted price and " Kd" and put it in the label
priceLabel.text = "\(priceString) Kd")
}
}
考虑使用 NumberFormatter 格式化货币:
let cf = NumberFormatter()
cf.currencyCode = "KWD"
cf.numberStyle = .currency
cf.string(from: 5000)
尊重用户的语言环境。
我有一个标签和一个 UIStepper,我需要在不丢失字母 (Kd) 的情况下增加该标签的数量。我的标签将是这样的“5.000 Kd”,当我增加数字时,我不想丢失 ( Kd ) 标签。
这是我的代码
import UIKit
import GMStepper
class ViewController: UIViewController {
@IBOutlet var stepper: GMStepper!
@IBOutlet var price: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func stepper(_ sender: Any) {
let label = "5.000 Kd" as NSString
price.text! = String(label.doubleValue * stepper.value)
}
}
如果您对标签的字符串内容进行硬编码,只需维护一个数值并在每次该值更改时重建标签内容:
class ViewController: UIViewController {
@IBOutlet var stepper: GMStepper!
@IBOutlet var priceLabel: UILabel!
var price: Double = 5.0
@IBAction func stepper(_ sender: Any) {
let newValue = price * stepper.value
//Format the price with 3 decimal places
let priceString = String(format: "%.3f", newValue)
Construct a string with the formatted price and " Kd" and put it in the label
priceLabel.text = "\(priceString) Kd")
}
}
考虑使用 NumberFormatter 格式化货币:
let cf = NumberFormatter()
cf.currencyCode = "KWD"
cf.numberStyle = .currency
cf.string(from: 5000)
尊重用户的语言环境。