为BigInteger分配大号时出错

时间:2013-01-06 09:34:19

标签: c# biginteger

尝试在C#

中为BigInteger分配一个大号
 BigInteger number= 27419669081321110693270343633073797;

但它显示错误:

  

积分常数太大

我认为BigInteger和我的内存一样大,所以如何将这个数字移到BigInteger

3 个答案:

答案 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类型是一个不可变类型,表示一个任意大的整数,其值理论上没有上限或下限。

BurkhardHank一样,您应该使用BigInteger.Parse()方法。

BigInteger number= BigInteger.Parse("27419669081321110693270343633073797");

也别忘了;

  

如果使用Parse()方法往返于字符串表示形式   您应该使用BigInteger方法输出的ToString值   使用带有“R”格式的BigInteger.ToString(String)方法   说明符生成BigInteger的字符串表示形式   值。否则,BigInteger的字符串表示   仅保留原始值的 50 最高有效数字,   使用Parse方法还原时,数据可能会丢失   BigInteger值。