尝试在C#
中为BigInteger
分配一个大号
BigInteger number= 27419669081321110693270343633073797;
但它显示错误:
积分常数太大
我认为BigInteger
和我的内存一样大,所以如何将这个数字移到BigInteger
?
答案 0 :(得分:9)
我认为你可以用BigInteger.Parse(String)
来做到这一点。在不了解C#的情况下,我认为分配的正确部分是错误的。这个数字太大了。
答案 1 :(得分:0)
我检查了我的VS并解析了成功。 尝试通过这种方法解析:
BigInteger mybigint;
bool checkparse=BigInteger.TryParse("27419669081321110693270343633073797",out mybigint);
if(checkparse==false)
//You can't parse this string
else
//string parsed
答案 2 :(得分:0)
BigInteger
类型是一个不可变类型,表示一个任意大的整数,其值理论上没有上限或下限。
与Burkhard和Hank一样,您应该使用BigInteger.Parse()
方法。
BigInteger number= BigInteger.Parse("27419669081321110693270343633073797");
也别忘了;
如果使用
Parse()
方法往返于字符串表示形式 您应该使用BigInteger
方法输出的ToString
值 使用带有“R”格式的BigInteger.ToString(String)
方法 说明符生成BigInteger
的字符串表示形式 值。否则,BigInteger
的字符串表示 仅保留原始值的 50 最高有效数字, 使用Parse方法还原时,数据可能会丢失BigInteger
值。