6

试图BigInteger在 C# 中为 a 分配一个大数字

 BigInteger number= 27419669081321110693270343633073797;

但它显示错误:

积分常数太大

我认为这BigInteger和我的 RAM 一样大,所以我怎样才能将这个数字移到BigInteger?

4

3 回答 3

10

我认为您可以使用BigInteger.Parse(String). 在不太了解 C# 的情况下,我认为作业的正确部分是错误的。数字太大了。

于 2013-01-06T09:41:02.963 回答
0

我检查了我的 VS 并解析成功。尝试通过这种方法解析:

BigInteger mybigint;
bool checkparse=BigInteger.TryParse("27419669081321110693270343633073797",out  mybigint);
if(checkparse==false)
   //You can't parse this string
else
   //string parsed
于 2013-01-06T09:54:02.737 回答
0

BigInteger类型是一个不可变类型,表示一个任意大的整数,其值在理论上没有上限或下限。

正如BurkhardHank所说,您应该BigInteger.Parse()为此使用方法。

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

也不要忘记;

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

于 2013-01-06T09:54:34.203 回答