如何将字符串解析为BigInteger?

时间:2013-06-11 20:54:51

标签: c# string biginteger

我正在用加密技术写我的裁判工作,今天我试图从字符串中获取一个BigInteger数字。但我发现从字符串中获取BigInteger数字的唯一方法是

UTF8Encoding Encoding = new UTF8Encoding();
var bytes = Encoding.GetBytes(myString);
var myBigInteger = new BigInteger(bytes);

但这不是我需要的方式。我需要一些能够完全返回BigInteger表示字符串的东西。例如,如果我有

var myString = "1234567890";

我希望我的BigInteger

BigInteger bi = 1234567890;

3 个答案:

答案 0 :(得分:6)

您可以使用该类型的Parse方法。

BigInteger.Parse(string value)

这是静态的。您传递一个字符串并获得相应的值。

例如:

BigInteger reallyBigNumber = BigInteger.Parse("12347534159895123");

答案 1 :(得分:1)

我认为TryParse是您想要的方式:

BigInteger number1;
bool succeeded1 = BigInteger.TryParse("-12347534159895123", out number1);

如果传递无效值,则不会抛出异常。如果输入字符串不转换,它只会将数字设置为0。我相信它也比Parse快。

http://msdn.microsoft.com/en-us/library/dd268301.aspx

答案 2 :(得分:0)

BigInteger bi = BigInteger.Parse("1234567890");