为什么 NSNumber 不尊重语言环境 decimalSeparator
Why NSNumber do not respect locale decimalSeparator
我正在使用 NumberFormatter
将 String
转换为 NSNumber
关于当前语言环境。
我的测试地点是瑞典。
所以 decimalSeparator
在我的例子中是 ","
这是NumberFormatter
声明。
let numberFormatter = NumberFormatter()
numberFormatter.locale = .current
numberFormatter.numberStyle = .decimal
numberFormatter.isLenient = true
用法。
let number = numberFormatter.number(from:"1,01") // 1.01
但是当我尝试将 NSNumber
转换回字符串时。
let stringNumber = number?.stringValue // 1.01
我收到错误的语言环境 decimalSeparator
。
不要使用 stringValue
将数字转换回您希望显示给用户的字符串。使用您的 NumberFormatter
将数字转换为语言环境友好的字符串表示形式。
仅供参考 - 无需将数字格式化程序的 locale
设置为 .current
,因为这是默认设置。
我正在使用 NumberFormatter
将 String
转换为 NSNumber
关于当前语言环境。
我的测试地点是瑞典。
所以 decimalSeparator
在我的例子中是 ","
这是NumberFormatter
声明。
let numberFormatter = NumberFormatter()
numberFormatter.locale = .current
numberFormatter.numberStyle = .decimal
numberFormatter.isLenient = true
用法。
let number = numberFormatter.number(from:"1,01") // 1.01
但是当我尝试将 NSNumber
转换回字符串时。
let stringNumber = number?.stringValue // 1.01
我收到错误的语言环境 decimalSeparator
。
不要使用 stringValue
将数字转换回您希望显示给用户的字符串。使用您的 NumberFormatter
将数字转换为语言环境友好的字符串表示形式。
仅供参考 - 无需将数字格式化程序的 locale
设置为 .current
,因为这是默认设置。