6

BigIntegerC#で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()た値の文字列表現をラウンドトリップする場合は、「R」形式指定子を使用してメソッドを使用し、 値の文字列表現を生成する必要があります。そうしないと、の文字列表現は元の値の最上位 50桁 のみを保持し、Parseメソッドを使用して値を復元するとデータが失われる可能性があります。BigIntegerToStringBigInteger.ToString(String)BigIntegerBigIntegerBigInteger

于 2013-01-06T09:54:34.203 に答える