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


Swift Int32 init(_:)用法及代码示例


用法一

初始化器

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

从给定的浮点值创建一个整数,向零舍入。

声明

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?(_ 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+

用法七

初始化器

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大神的英文原创作品 Int32 init(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。