Швидкий 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 все ж додасть floatValue
Swift, це викине виняток, але це може бути приємно в той час. Якщо вони все-таки додадуть його пізніше, тоді все, що вам потрібно зробити, щоб змінити код - це видалити розширення, і все буде працювати безперешкодно, оскільки ви вже будете телефонувати .floatValue
!
Також змінні та константи повинні починатися з нижнього регістру (включаючи IBOutlets
)