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


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


用法一

初始化器

init(_:)

從給定的字符串創建一個新的整數值。

聲明

init?(_ description: String)

參數

description

數字的 ASCII 表示。

詳述

作為description 傳遞的字符串可以以加號或減號字符(+-)開頭,後跟一個或多個數字(0-9)。


let x = Int("123")
// x == 123

如果 description 的格式無效,或者它以 10 為基數表示的值不可表示,則結果為 nil 。例如,以下轉換導致 nil


Int(" 100")                       // Includes whitespace
Int("21-50")                      // Invalid format
Int("ff6600")                     // Characters out of bounds
Int("10000000000000000000000000") // Out of range

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

用法二

初始化器

init(_:)

從給定的浮點值創建一個整數,向零舍入。

聲明

init(_ source: Float)

參數

source

要轉換為整數的浮點值。 source 在向零舍入後必須可以在此類型中表示。

詳述

作為 source 傳遞的值的任何小數部分都將被刪除,將值四舍五入到零。


let x = Int(21.5)
// x == 21
let y = Int(-21.5)
// y == -21

如果 source 在向零舍入後超出此類型的範圍,則可能會發生運行時錯誤。


let z = UInt(-21.5)
// Error: ...the result would be less than UInt.min

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

用法三

初始化器

init(_:)

從給定的浮點值創建一個整數,向零舍入。

聲明

init(_ source: Float16)

參數

source

要轉換為整數的浮點值。 source 在向零舍入後必須可以在此類型中表示。

詳述

作為 source 傳遞的值的任何小數部分都將被刪除,將值四舍五入到零。


let x = Int(21.5)
// x == 21
let y = Int(-21.5)
// y == -21

如果 source 在向零舍入後超出此類型的範圍,則可能會發生運行時錯誤。


let z = UInt(-21.5)
// Error: ...the result would be less than UInt.min

可用版本

iOS 14.0+, iPadOS 14.0+, macOS 11.0+, Mac Catalyst 14.0+, tvOS 14.0+, watchOS 7.0+

用法四

初始化器

init(_:)

從給定的整數創建一個新實例。

聲明

init<T>(_ source: T) where T : BinaryInteger
Self 符合 FixedWidthInteger 時可用。

參數

source

要轉換為此類整數的值。作為source 傳遞的值必須可以在此類型中表示。

詳述

當您知道值在此類型的範圍內時,使用此初始化程序從另一個整數類型轉換。傳遞無法以這種類型表示的值會導致運行時錯誤。

在以下示例中,常量 y 是從 x 成功創建的,這是一個值為 100Int 實例。因為 Int8 類型最多可以表示 127,所以嘗試使用 1000 的值創建 z 會導致運行時錯誤。


let x = 100
let y = Int8(x)
// y == 100
let z = Int8(x * 10)
// Error: Not enough bits to represent the given value

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

用法五

初始化器

init(_:)

從給定的浮點值創建一個整數,向零舍入。

聲明

init(_ source: Float80)

參數

source

要轉換為整數的浮點值。 source 在向零舍入後必須可以在此類型中表示。

詳述

作為 source 傳遞的值的任何小數部分都將被刪除,將值四舍五入到零。


let x = Int(21.5)
// x == 21
let y = Int(-21.5)
// y == -21

如果 source 在向零舍入後超出此類型的範圍,則可能會發生運行時錯誤。


let z = UInt(-21.5)
// Error: ...the result would be less than UInt.min

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

用法六

初始化器

init(_:)

從給定的浮點值創建一個整數,向零舍入。作為 source 傳遞的值的任何小數部分都將被刪除。

聲明

init<T>(_ source: T) where T : BinaryFloatingPoint

參數

source

要轉換為整數的浮點值。 source 在向零舍入後必須可以在此類型中表示。

詳述


let x = Int(21.5)
// x == 21
let y = Int(-21.5)
// y == -21

如果 source 在向零舍入後超出此類型的範圍,則可能會發生運行時錯誤。


let z = UInt(-21.5)
// Error: ...outside the representable range

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

用法七

初始化器

init(_:)

從給定的浮點值創建一個整數,向零舍入。

聲明

init(_ source: Double)

參數

source

要轉換為整數的浮點值。 source 在向零舍入後必須可以在此類型中表示。

詳述

作為 source 傳遞的值的任何小數部分都將被刪除,將值四舍五入到零。


let x = Int(21.5)
// x == 21
let y = Int(-21.5)
// y == -21

如果 source 在向零舍入後超出此類型的範圍,則可能會發生運行時錯誤。


let z = UInt(-21.5)
// Error: ...the result would be less than UInt.min

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Int init(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。