0

我正在使用下面的代码测试一些字符串,例如一、二、三、七等,看看它们是否是数字。如果字符串实际上是一个数字,它可以正常工作,但当字符串不是“储蓄”一词中的数字时会崩溃。

该方法的重点是找出字符串是否可以表示为数字,所以我不知道如何排除不能表示的情况——如果确实是这个问题。我认为这就是问题所在,但我想我也可能会遗漏一些东西,因为我在可选方面很弱。我正在运行它的字符串产生错误是“储蓄”一词。

这是我的代码:

public extension NSString {
    public var asNum: NSNumber {
               // let stringValue = String(value: self)
                let stringValue = self
                let formatter = NumberFormatter()
                formatter.isLenient = true
                formatter.numberStyle = .spellOut
                let num = formatter.number(from: stringValue as String)!///EXCEPTION
                return num
            }
        }

异常内容如下:

致命错误:在展开可选值时意外发现 nil

在调试器中,我可以验证 stringValue 是“储蓄”

感谢您的任何建议。

4

0 回答 0