gpt4 book ai didi

swift - 数字类 swift

转载 作者:可可西里 更新时间:2023-11-01 01:43:36 25 4
gpt4 key购买 nike

有没有办法轻松判断一个值是否为数字?我正在查看 swift 标准库,但似乎无法得出任何结论。像这样:

    var val: Any = ...
if let number = val as? Number {
//do something
}

我真的不需要转换它,只需弄清楚它是否是一个数字即可。而不是做一堆 Int、Double 等检查。

最佳答案

给定一个 Any 类型的变量,您可以使用如下函数检查它是否为数字:

func isNumber(value: Any) -> Bool {
return (value is Int) || (value is UInt) || (value is Float) || (value is Double)
}

有趣的情况,如果变量是 AnyObject 类型,则以下任何一个:

value is Int
value is UInt
value is Float
value is Double
value is Bool

将为所有这些数据类型返回 true:

  • 整数
  • UInt
  • float
  • bool

例如:

let x: AnyObject = false
x is Int // <== evaluates to true
x is Float // <== evaluates to true

关于swift - 数字类 swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26309596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com