当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Int8 init(exactly:)用法及代码示例


用法一

初始化器

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+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Int8 init(exactly:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。