我正在尝试创建一个将字符串转换为用户本地货币的简单函数。
我有一个看起来像这样的函数:
func decimalFormat(stringNumber:String) -> Decimal{
print("\(stringNumber) is the number being passed")
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .currency
let number = numberFormatter.number(from: stringNumber)
print("\(number!) is the number")
let amount = number?.decimalValue
return amount!
}
出于某种原因,我在打开一个可选值时意外地找到了nil。
第一次印刷工作,并让我回到我传递给函数的内容
decimalFormat("5.4")
print("\(stringNumber) is the number being passed") -> 5.4
所以我认为错误来自这一行,只是不确定为什么因为我认为你没有可选的值来解包:
let number = numberFormatter.number(from: stringNumber)