簡體   English   中英

不同區域 Swift 中的字符串到雙精度轉換 nil

[英]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 然后在 magicNumber 上分配 12

然后我將地區更改為德國。

在此處輸入圖像描述

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM