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 0
valeur pour un invalide Float
pour une raison quelconque, vous pouvez utiliser Float(Wage.text) ?? 0
qui retournera 0
si 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 extension
pour mieux utiliser cela aussi:
extension String {
var floatValue: Float {
return (self as NSString).floatValue
}
}
Maintenant, vous pouvez simplement appeler var WageConversion = Wage.text.floatValue
et 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.34
ou 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
)