用法一
初始化器
init(exactly:)
如果可以精确表示,则从给定的浮点值创建一个整数。
声明
init?<T>(exactly source: T) where T : BinaryFloatingPoint
参数
source
要转换为整数的浮点值。
详述
如果作为 source
传递的值不能准确表示,则结果为 nil
。在以下示例中,常量 x
是从 21.0
值成功创建的,而尝试从 21.5
初始化常量 y
失败:
let x = Int(exactly: 21.0)
// x == Optional(21)
let y = Int(exactly: 21.5)
// y == nil
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
用法二
初始化器
init(exactly:)
如果可以精确表示,则从给定的浮点值创建一个整数。
声明
init?(exactly source: Float80)
参数
source
要转换为整数的浮点值。
详述
如果作为 source
传递的值不能准确表示,则结果为 nil
。在以下示例中,常量 x
是从 21.0
值成功创建的,而尝试从 21.5
初始化常量 y
失败:
let x = Int(exactly: 21.0)
// x == Optional(21)
let y = Int(exactly: 21.5)
// y == nil
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
用法三
初始化器
init(exactly:)
如果可以精确表示,则从给定的浮点值创建一个整数。
声明
init?(exactly source: Float)
参数
source
要转换为整数的浮点值。
详述
如果作为 source
传递的值不能准确表示,则结果为 nil
。在以下示例中,常量 x
是从 21.0
值成功创建的,而尝试从 21.5
初始化常量 y
失败:
let x = Int(exactly: 21.0)
// x == Optional(21)
let y = Int(exactly: 21.5)
// y == nil
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
用法四
初始化器
init(exactly:)
如果可以精确表示,则从给定的浮点值创建一个整数。
声明
init?(exactly source: Double)
参数
source
要转换为整数的浮点值。
详述
如果作为 source
传递的值不能准确表示,则结果为 nil
。在以下示例中,常量 x
是从 21.0
值成功创建的,而尝试从 21.5
初始化常量 y
失败:
let x = Int(exactly: 21.0)
// x == Optional(21)
let y = Int(exactly: 21.5)
// y == nil
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
用法五
初始化器
init(exactly:)
如果可以精确表示,则从给定的浮点值创建一个整数。
声明
init?(exactly source: Float16)
参数
source
要转换为整数的浮点值。
详述
如果作为 source
传递的值不能准确表示,则结果为 nil
。在以下示例中,常量 x
是从 21.0
值成功创建的,而尝试从 21.5
初始化常量 y
失败:
let x = Int(exactly: 21.0)
// x == Optional(21)
let y = Int(exactly: 21.5)
// y == nil
可用版本
iOS 14.0+, iPadOS 14.0+, macOS 11.0+, Mac Catalyst 14.0+, tvOS 14.0+, watchOS 7.0+
用法六
初始化器
init(exactly:)
如果可以精确表示,则从给定的整数创建一个新实例。
声明
init?<T>(exactly source: T) where T : BinaryInteger
当
Self
符合 FixedWidthInteger
时可用。参数
source
要转换为此类整数的值。
详述
如果作为 source
传递的值不能准确表示,则结果为 nil
。在以下示例中,常量 x
是从值 100
成功创建的,而尝试从 1_000
初始化常量 y
失败,因为 Int8
类型最多可以表示 127
:
let x = Int8(exactly: 100)
// x == Optional(100)
let y = Int8(exactly: 1_000)
// y == nil
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相关用法
- Swift Int8 init(truncatingIfNeeded:)用法及代码示例
- Swift Int8 init(integerLiteral:)用法及代码示例
- Swift Int8 init(_:radix:)用法及代码示例
- Swift Int8 init(clamping:)用法及代码示例
- Swift Int8 init(_:)用法及代码示例
- Swift Int8 ~(_:)用法及代码示例
- Swift Int8 *=(_:_:)用法及代码示例
- Swift Int8 -(_:_:)用法及代码示例
- Swift Int8 %(_:_:)用法及代码示例
- Swift Int8 |=(_:_:)用法及代码示例
- Swift Int8 ...(_:_:)用法及代码示例
- Swift Int8 >>(_:_:)用法及代码示例
- Swift Int8 /(_:_:)用法及代码示例
- Swift Int8 ==(_:_:)用法及代码示例
- Swift Int8 |(_:_:)用法及代码示例
- Swift Int8 magnitude用法及代码示例
- Swift Int8 <<=(_:_:)用法及代码示例
- Swift Int8 &(_:_:)用法及代码示例
- Swift Int8 trailingZeroBitCount用法及代码示例
- Swift Int8 &+(_:_:)用法及代码示例
- Swift Int8 ...(_:)用法及代码示例
- Swift Int8 >>=(_:_:)用法及代码示例
- Swift Int8 &<<=(_:_:)用法及代码示例
- Swift Int8 &<<(_:_:)用法及代码示例
- Swift Int8 random(in:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Int8 init(exactly:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。