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