将字符串转换为BigInteger

时间:2013-01-06 15:02:27

标签: c# string parsing type-conversion biginteger

我有以下代码创建一个非常大的数字(BigInteger),然后将其转换为string

// It's a console application.
BigInteger bi = 2;
for (int i = 0; i < 1234; i++)
{
   bi *= 2;
}
string myBigIntegerNumber = bi.ToString();
Console.WriteLine(myBigIntegerNumber);

我知道要转换为int我们可以使用Convert.ToInt32并转换为long,我们会使用Convert.ToInt64,但有什么关于转换为BigInteger?< / p>

如何将string(代表非常长的数字)转换为BigInteger

3 个答案:

答案 0 :(得分:14)

使用BigInteger.Parse()方法。

  

将指定样式中数字的字符串表示形式转换为   它的BigInteger等价物。

BigInteger bi = 2;
for(int i = 0; i < 1234; i++)
{
    bi *= 2;
}

var myBigIntegerNumber = bi.ToString();
Console.WriteLine(BigInteger.Parse(myBigIntegerNumber));

您也可以在对话成功与否的情况下查看BigInteger.TryParse()方法。

  

尝试将数字的字符串表示形式转换为它   BigInteger等效,并返回一个指示是否为的值   转换成功。

答案 1 :(得分:6)

BigInteger.Parse正是您要找的。

答案 2 :(得分:0)

BigInteger.Parse()

相比,这是另一种更快的方法
public static BigInteger ToBigInteger(string value)
{
    BigInteger result = 0;
    for (int i = 0; i < value.Length; i++)
    {
        result = result * 10 + (value[i] - '0');
    }
    return result;
}