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


Swift LosslessStringConvertible 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(_:)

從給定的浮點值創建一個整數,向零舍入。作為 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+

相關用法


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