有一个文本字段
@IBOutlet weak var txt: UITextField!
字符串
当我试图将txt的值转换为Double时,它在美国地区工作正常。
比如说
let magicNumber = Double(txt.text ?? "0.0")
型
如果我键入12 UITextField,则magicNumber上分配12
然后我把地区改为德国。
的数据
let magicNumber = Double(txt.text ?? "0.0")
型
如果我键入12,8 UITextField,则magicNumber为nil。
我需要一个正确的double值,如:12.8
我怎么能做到这一点?请告诉我正确的方法。
2条答案
按热度按时间gtlvzcf81#
小心处理本地化的数字字符串
字符串
smdnsysy2#
您正在处理的问题与默认的.当前区域设置和应用程序的本地化有关。.decimalPad首先查看应用程序本地化,如果它没有以.current region语言进行本地化,则默认为en_YourLanguage格式。因此,您的.current格式的数字可能有“.”分隔符,但您会在. decimalPad上看到“,”。
范例: