我需要将此50位数的字符串53503534226472524250874054075591789781264330331690
转换为适当的数字类型。我尝试了这个:
let str = "53503534226472524250874054075591789781264330331690"
let num = str.toInt(); // Returns nil
let num = Int64(str.toInt()); // Errors out
签名时,Int64的最大大小为9,223,372,036,854,775,807。因此,您不能像那样转换它。
您需要使用其他语言的BigInt类之类的东西。检查另一个问题,他们在其中回答有关Swift中BigInt的替代方法:
总之,有第三方库可以存储任意长整数。Apple的唯一替代方法是NSDecimalNumber,但其限制为38位数字,而您的数字为50位。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句