尝试将字符串转换为货币并导致致命错误结果

时间:2017-09-13 04:29:45

标签: ios swift currency-formatting

我正在尝试创建一个将字符串转换为用户本地货币的简单函数。

我有一个看起来像这样的函数:

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)

0 个答案:

没有答案