Швидкий 2.0+
Тепер із Swift 2.0 ви можете просто використовувати, Float(Wage.text)який повертає Float?тип. Більш чітке, ніж наведене нижче рішення, яке тільки повертається 0.
Якщо ви хочете, щоб 0значення було недійсним Floatз якоїсь причини, ви можете використовувати Float(Wage.text) ?? 0яке повернеться, 0якщо воно не є дійсним Float.
Старе рішення
Найкращий спосіб впоратися з цим - прямий кастинг:
var WageConversion = (Wage.text as NSString).floatValue
Я фактично створив і extensionдля кращого використання цього:
extension String {
var floatValue: Float {
return (self as NSString).floatValue
}
}
Тепер ви можете просто зателефонувати var WageConversion = Wage.text.floatValueта дозволити розширення обробляти міст для вас!
Це хороша реалізація, оскільки вона може обробляти фактичні поплавці (введення з .), а також допоможе запобігти користувачеві копіювати текст у ваше поле введення ( 12p.34або навіть 12.12.41).
Очевидно, якщо Apple все ж додасть floatValueSwift, це викине виняток, але це може бути приємно в той час. Якщо вони все-таки додадуть його пізніше, тоді все, що вам потрібно зробити, щоб змінити код - це видалити розширення, і все буде працювати безперешкодно, оскільки ви вже будете телефонувати .floatValue!
Також змінні та константи повинні починатися з нижнього регістру (включаючи IBOutlets)