當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Swift Int init(exactly:)用法及代碼示例


用法一

初始化器

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: 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?(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: 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?<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?<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大神的英文原創作品 Int init(exactly:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。