一尘不染

UITextField的数字键盘:浮点值用点而不是逗号

swift

我正在使用从数字键盘填充的textField。

麻烦的是,在许多本地格式(例如,全欧洲)中,UITextField的数字键盘用逗号代替点号,因此每次我写一个十进制数字时,UITextField都无法识别十进制逗号,并且不能四舍五入。例如23,07变成23。

我该如何解决?我想将textField设置为固定在美国;可能吗?怎么样?

我用这个读取值:

var importo = (importoPrevistoTF.text as NSString).floatValue

阅读 218

收藏
2020-07-07

共1个答案

一尘不染

SOAnswer的潜在副本,使用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;
2020-07-07