首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将整数文字存储为“Int”错误时溢出

将整数文字存储为“Int”错误时溢出
EN

Stack Overflow用户
提问于 2015-05-22 17:41:38
回答 2查看 4.2K关注 0票数 1

当我归档我的项目时,我会收到一条错误消息。怎么修呢?

代码语言:javascript
复制
static let litersPerUSGallon = NSDecimalNumber(mantissa:UInt64(3785411784), exponent: -9, isNegative:false)
static let litersPerImperialGallon = NSDecimalNumber(mantissa:UInt64(454609), exponent: -5, isNegative:false)
static let kilometersPerStatuteMile = NSDecimalNumber(mantissa:UInt64(1609344), exponent: -6, isNegative:false)
static let kilometersPerLiterToMilesPerUSGallon = NSDecimalNumber(mantissa:UInt64(2352145833), exponent: -9, isNegative:false)
static let kilometersPerLiterToMilesPerImperialGallon = NSDecimalNumber(mantissa:UInt64(2737067636), exponent: -9, isNegative:false)
static let litersPer100KilometersToMilesPer10KUSGallon = NSDecimalNumber(mantissa:UInt64(425170068027), exponent: -10, isNegative:false)
static let litersPer100KilometersToMilesPer10KImperialGallon = NSDecimalNumber(mantissa:UInt64(353982300885), exponent: -10, isNegative:false)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-22 17:54:04

在归档期间,为在“架构”下的构建设置中配置的所有体系结构编译代码。

在32位iOS平台上,Int是一个32位有符号整数,不能容纳值3785411784.在此上下文中,编译器似乎无法正确地推断整数文本的类型为UInt64

但解决方案很简单:只需省略UInt64()构造函数即可。mantissa:参数的类型是UInt64,即使在32位平台上,整数文本也被正确地视为64位数字。

代码语言:javascript
复制
NSDecimalNumber(mantissa:3785411784, exponent: -9, isNegative:false)
票数 5
EN

Stack Overflow用户

发布于 2017-06-24 15:37:14

可以使用以下代码将类型设置为UInt64

代码语言:javascript
复制
let myInt:UInt64 = 12345
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30402819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档