我正在用加密技术写我的裁判工作,今天我试图从字符串中获取一个BigInteger数字。但我发现从字符串中获取BigInteger数字的唯一方法是
UTF8Encoding Encoding = new UTF8Encoding();
var bytes = Encoding.GetBytes(myString);
var myBigInteger = new BigInteger(bytes);
但这不是我需要的方式。我需要一些能够完全返回BigInteger表示字符串的东西。例如,如果我有
var myString = "1234567890";
我希望我的BigInteger
BigInteger bi = 1234567890;
答案 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快。
答案 2 :(得分:0)
BigInteger bi = BigInteger.Parse("1234567890");