用法一
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
可用版本
用法二
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
可用版本
用法三
init(_:)
声明
init<T>(_ source: T) where T : BinaryInteger
Self
符合 FixedWidthInteger
时可用。参数
source
要转换为此类整数的值。作为
source
传递的值必须可以在此类型中表示。
详述
当您知道值在此类型的范围内时,使用此初始化程序从另一个整数类型转换。传递无法以这种类型表示的值会导致运行时错误。
在以下示例中,常量 y
是从 x
成功创建的,这是一个值为 100
的 Int
实例。因为 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
可用版本
用法四
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
可用版本
用法五
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
可用版本
用法六
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
可用版本
用法七
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
可用版本
相关用法
- Swift UInt init(_:radix:)用法及代码示例
- Swift UInt init(truncatingIfNeeded:)用法及代码示例
- Swift UInt init(exactly:)用法及代码示例
- Swift UInt init(integerLiteral:)用法及代码示例
- Swift UInt init(clamping:)用法及代码示例
- Swift UInt +(_:)用法及代码示例
- Swift UInt &<<(_:_:)用法及代码示例
- Swift UInt leadingZeroBitCount用法及代码示例
- Swift UInt quotientAndRemainder(dividingBy:)用法及代码示例
- Swift UInt &(_:_:)用法及代码示例
- Swift UInt &*(_:_:)用法及代码示例
- Swift UInt *=(_:_:)用法及代码示例
- Swift UInt %(_:_:)用法及代码示例
- Swift UInt &-(_:_:)用法及代码示例
- Swift UInt +=(_:_:)用法及代码示例
- Swift UInt ==(_:_:)用法及代码示例
- Swift UInt |=(_:_:)用法及代码示例
- Swift UInt >>=(_:_:)用法及代码示例
- Swift UInt multipliedFullWidth(by:)用法及代码示例
- Swift UInt !=(_:_:)用法及代码示例
- Swift UInt +(_:_:)用法及代码示例
- Swift UInt nonzeroBitCount用法及代码示例
- Swift UInt <<=(_:_:)用法及代码示例
- Swift UInt ..<(_:)用法及代码示例
- Swift UInt ...(_:_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 UInt init(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。