首页 > 解决方案 > 我的代码有什么问题?它说未解析的标识符

问题描述

它对 和 都表示“使用未解析的标识符NSNumberNSNumber。我找不到解决方案。

我应该能够创建一个程序,将每个数字从给定的整数转换为其等效的单词值。接受的值应该UInt16只是

public extension Int {
    public var asWord: String {
        let numberValue = NSNumber(value: self)
        let formatter = NSNumberFormatter()
        formatter.numberStyle = .spellOut
        return formatter.string(from: numberValue)!
    }
}

var value = 2500

if value > UInt16.max || value < UInt16.min {
    print("The accepted value should be UInt16 only")
}
else {
    print("\(value.asWord)")
}

标签: swiftnsnumber

解决方案


你忘了导入 Foundation。

试试这个(Swift 4):

import Foundation

public extension Int {
    public var asWord: String {
        let numberValue = NSNumber(value: self)
        let formatter = NumberFormatter()
        formatter.numberStyle = .spellOut
        return formatter.string(from: numberValue)!
    }
}

var value = 2500
if value > UInt16.max || value < UInt16.min{
    print("The accepted value should be UInt16 only")
} else {
    print("\(value.asWord)")
}

推荐阅读