字符串到不同区域的双精度转换为零 Swift
String to Double conversion nil in different region Swift
有一个文本字段
@IBOutlet weak var txt: UITextField!
当我尝试将 txt 的值转换为 Double 时,它在美国地区运行良好。
例如
let magicNumber = Double(txt.text ?? "0.0")
如果我输入 12 UITextField,那么 12 分配给 magicNumber
然后我把地区改成了德国
let magicNumber = Double(txt.text ?? "0.0")
如果我键入 12,8 UITextField,则 magicNumber 为 nil。
我需要一个正确的双精度值,例如:12.8
我怎样才能做到这一点?请给我建议正确的方法。
小心处理本地化数字字符串
let inputString = "12,8"
let formatter = NumberFormatter()
formatter.locale = Locale.current // Locale(identifier: "de")
let number = formatter.number(from: inputString)
print(number) // 12.8
有一个文本字段
@IBOutlet weak var txt: UITextField!
当我尝试将 txt 的值转换为 Double 时,它在美国地区运行良好。
例如
let magicNumber = Double(txt.text ?? "0.0")
如果我输入 12 UITextField,那么 12 分配给 magicNumber
然后我把地区改成了德国
let magicNumber = Double(txt.text ?? "0.0")
如果我键入 12,8 UITextField,则 magicNumber 为 nil。
我需要一个正确的双精度值,例如:12.8
我怎样才能做到这一点?请给我建议正确的方法。
小心处理本地化数字字符串
let inputString = "12,8"
let formatter = NumberFormatter()
formatter.locale = Locale.current // Locale(identifier: "de")
let number = formatter.number(from: inputString)
print(number) // 12.8