我正在使用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
。
答案 0 :(得分:3)
请勿使用stringValue
将号码转换回您希望向用户显示的字符串。使用NumberFormatter
将数字转换为语言环境友好的字符串表示形式。
仅供参考 - 没有必要将数字格式化程序locale
设置为.current
,因为这是默认设置。