swift - 我的代码有什么问题?它说未解析的标识符
问题描述
它对 和 都表示“使用未解析的标识符NSNumber
” NSNumber
。我找不到解决方案。
我应该能够创建一个程序,将每个数字从给定的整数转换为其等效的单词值。接受的值应该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)")
}
解决方案
你忘了导入 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)")
}
推荐阅读
- neo4j - 使用 COUNT 查询(Neo4j)的“在这种情况下无效使用聚合函数”
- ansible - 带有处理程序的 Ansible 任务因操作类 ansible.parsing.yaml.objects.AnsibleSequence 中的意外参数类型而失败
- c - 如何修复“是积极的还是消极的”C 脚本?
- python - 弹性搜索错误 [WinError 10061] 由于目标机器主动拒绝,无法建立连接)
- javascript - React Switch Button
- node.js - 压力测试中的瓶颈 Node Web 服务器
- google-cloud-platform - 全球 TCP(代理)LB 的 GCP Terraform 脚本不支持多个后端
- c# - 如何使用 Swashbuckle 记录有条件要求的财产
- c# - 如何在 Xunit.net 测试中查看记录器输出?C#
- c++ - i 的反转对
2*A[j] 使用归并排序