La conversion de string en int en Swift
Donc, j'ai regardé toutes les autres questions concernant ce sujet et j'ai tenté de mettre en œuvre les solutions proposées, mais en vain. J'ai deux champs de texte dans une vue contrôleur que l'utilisateur entre les nombres et est alors autorisé à effectuer une addition ou une soustraction de deux nombres. Si je ne me trompe, les champs de texte sont des chaînes de caractères et doivent être convertis en nombres entiers, avant le calcul peut être effectué. Je ne suis pas du tout avoir de la chance avec cette conversion. Toutes les suggestions dans la bonne direction serait très apprécié. Voici le code applicable:
let firstInput : Int? = Int(firstNumber)
let secondInput : Int? = Int(secondNumber)
var result = 0
@IBOutlet weak var firstNumber: UITextField!
@IBOutlet weak var secondNumber: UITextField!
@IBOutlet weak var segmentedControlCalculate: UISegmentedControl!
@IBAction func segmentedControlAddSubtract(sender: AnyObject) {
switch segmentedControlCalculate.selectedSegmentIndex {
case 0:
result = firstInput+ secondInput
case 1:
result = firstInput - secondInput
default:
return
}
updateTotalLabel()
}
func updateTotalLabel() {
total.text = "Total = " + String(result)
}
@IBOutlet weak var total: UILabel!
@IBAction func dismiss(sender: AnyObject) {
dismissViewControllerAnimated(true, completion: nil)
}
cela m'a aidé................
OriginalL'auteur | 2016-03-30
Vous devez vous connecter pour publier un commentaire.
Un champ de texte contient une chaîne de caractères (dans son
text
propriété); il n'est pas lui-même une chaîne de caractères. Et depuis que la chaîne peut changer, vous devriez demander au champ de texte à chaque fois que vous en avez besoin.Vous pouvez utiliser un
guard let
déclaration à déballer toutes les options (puisque chaque champ de textetext
est facultative, et leInt
conversion renvoie également facultatif), comme ceci:OriginalL'auteur rob mayoff
Assurez-vous de déballer les options. Convertir une Chaîne en un entier (Int) ne peut conduire à un Int, et donc le type est facultatif. Bien sûr, ceci est un simple exemple. Vous devez d'abord tester si un réel Int a été entré.
OriginalL'auteur Steve Rosenberg
Votre calcul doit être comme ceci
Vous devez affecter votre variable à l'intérieur de l'action, et pas au début
Vous essayez de vérifier debug si courir dans votre
updateTotalLabel()
. Aussi peutprint
ouNSLog
si le résultat est correct, parce que je vois que vous avaitIBOutlet
pour total, et il doit être correct, à moins que le est connexion du total, problèmeOriginalL'auteur Lee
De sorte que vous devez comprendre que l'incompatibilité de type sur string en int est plus alors de int en char.
Au cours de la conversion vous pouvez perdre quelques morceaux, mais ce que je comprends, nous avons poussé à l'utiliser 🙂
Pour l'utilisation comme un entier u peut initialiser une nouvelle var avec le constructeur.
Vous devez vérifier le type de retour de la propriété entrées, si ses une chaîne de caractères. Essayez d'isoler les cordes et ensuite de les convertir, parce que peut-être vous re la conversion de la propriété de l'objet, mais pas de données 🙂
Vous devez vérifier le type de retour de la propriété entrées, si ses une chaîne de caractères. Essayez d'isoler les cordes et ensuite de les convertir, parce que peut-être vous re la conversion de la propriété de l'objet, mais pas de données 🙂
OriginalL'auteur Даниил Давидсон