拥有
let finalValueUnsigned64:UInt64
我想将其转换为Int64
let finalValue = Int64(finalValueUnsigned64)
但是初始化程序不会引发异常,因此当值太大且无法进行转换时,我可以处理这种情况。如何将任何未签名转换为已签名,并获得一些反馈,说明是否可以转换?
答案 0 :(得分:3)
您可以使用Int64(exactly:)
初始化程序来检查是否可以转换值。如果无法精确表示该值,它将返回nil
。例如:
Int8(exactly: 100) // Optional(100)
Int8(exactly: 1_000) // nil