我有一根绳子,"$4,102.33"
需要转换为双精度。这永远是美国。我唯一的方法是破解$
and ,
然后转换为双精度。似乎NSFormatter
只允许我转换为货币,而不是从货币转换。有没有内置功能或比仅仅删除更好的方法$
and ,
?在将其转换为双精度之前?
NumberFormatter
可以与字符串相互转换。还Double
无法准确表示某些数字,因为它基于 2. 使用Decimal
速度较慢但更安全。
let str = "$4,102.33"
let formatter = NumberFormatter()
formatter.numberStyle = .currency
if let number = formatter.number(from: str) {
let amount = number.decimalValue
print(amount)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)