Je suis en train de faire des calculs de champs de texte je l'ai appris à travailler en utilisant Doubles:NSDecimal nombre multiplication
let firstValue = Double(miles.text!)
let secondValue = Double(payPerMile.text!)
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
formatter.locale = Locale.current
formatter.usesGroupingSeparator = true
let result = Double(firstValue! * secondValue!) as NSNumber
grossPay.text = "\(formatter.string(from: result)!)"
Tout en faisant plus de recherches sur le sujet, j'été informé que l'utilisation de double n'est pas le meilleur itinéraire pour allez donc j'essaie d'utiliser NSDecimalNumber à la place.
Mon problème est que je ne peux pas comprendre comment le faire fonctionner lors de la commutation.
@IBAction func miles(_ sender: Any) {
let firstValue = NSDecimalNumber(string: miles.text)
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 2
formatter.usesGroupingSeparator = true
miles.text = "\(formatter.string(from: firstValue as NSNumber)!)"
}
@IBAction func payPerMile(_ sender: Any) {
let firstValue = NSDecimalNumber(string: payPerMile.text)
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
formatter.locale = Locale.current
formatter.usesGroupingSeparator = true
payPerMile.text = "\(formatter.string(from: firstValue as NSNumber)!)"
}
@IBAction func grossPay(_ sender: Any) {
let firstValue = NSDecimalNumber(string: miles.text!)
let secondValue = NSDecimalNumber(string: payPerMile.text!)
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
formatter.locale = Locale.current
formatter.usesGroupingSeparator = true
let result = (firstValue as Decimal) * (secondValue as Decimal) as NSDecimalNumber
grossPay.text = "\(formatter.string(from: result)!)"
me donne juste le résultat de NaN
miles.text est formaté pour .decimal payPerMile.text est formaté pour .currency
Je ne sais pas si cela pourrait faire partie de mon problème ou non.
Désolé pour la longue pause ..... Je ne peux pas sembler obtenir que pour travailler – OEZ
Pouvez-vous montrer un exemple concret de la '' miles' et le texte payPerMile'? – fguchelaar
J'ai ajouté le code pour miles et payPerMile .... J'espère que c'est ce dont vous aviez besoin. – OEZ