我正在使用从数字键盘填充的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;

10-01 08:57