Swift 2.0+
Maintenant, avec Swift 2.0, vous pouvez simplement utiliser Float(Wage.text)qui renvoie un Float?type. Plus clair que la solution ci-dessous qui revient juste 0.
Si vous voulez une 0valeur pour un invalide Floatpour une raison quelconque, vous pouvez utiliser Float(Wage.text) ?? 0qui retournera 0si ce n'est pas un valide Float.
Ancienne solution
La meilleure façon de gérer cela est la diffusion directe:
var WageConversion = (Wage.text as NSString).floatValue
J'ai en fait créé un extensionpour mieux utiliser cela aussi:
extension String {
var floatValue: Float {
return (self as NSString).floatValue
}
}
Maintenant, vous pouvez simplement appeler var WageConversion = Wage.text.floatValueet permettre à l'extension de gérer le pont pour vous!
C'est une bonne implémentation car elle peut gérer les flottants réels (entrée avec .) et aidera également à empêcher l'utilisateur de copier du texte dans votre champ de saisie ( 12p.34ou même 12.12.41).
Évidemment, si Apple ajoute un floatValueà Swift, cela lèvera une exception, mais cela peut être agréable en attendant. S'ils l'ajoutent plus tard, tout ce que vous avez à faire pour modifier votre code est de supprimer l'extension et tout fonctionnera de manière transparente, car vous appellerez déjà .floatValue!
En outre, les variables et les constantes doivent commencer par une minuscule (y compris IBOutlets)