我正在使用从数字键盘填充的textField。
麻烦的是,在很多本地格式(例如,全欧洲)中,UITextField的数字键盘用逗号代替点,因此,每次我写一个十进制数字时,UITextField都无法识别十进制逗号,并且无法四舍五入。例如23,07变成23。
我该如何解决?
我想将textField设置为固定在美国;是否可以?如何?
我用这个读取值:
var importo = (importoPrevistoTF.text as NSString).floatValue
最佳答案
SO Answer的潜在重复项,请使用NSNumberFormatter
Swift示例:
let number = NSNumberFormatter().numberFromString(numberString)
if let number = number {
let floatValue = Float(number)
}
示例( objective-C ):
NSNumber *number = [[NSNumberFormatter new] numberFromString: numberString];
float floatValue = number.floatValue;