2011-06-16 81 views
0
using Org.BouncyCastle.Math; 
    string p = "E7A69EBDF105F2A6BBDEAD7E798F76A209AD73FB466431E2E7352ED262F8C558F10BEFEA977DE9E21DCEE9B04D245F300ECCBBA03E72630556D011023F9E857F"; 
    BigInteger P= new BigInteger(p); 

拋出異常型 'System.FormatException' 未處理的異常出現在mscorlib.dll

System.FormatException: Input string was not in a correct format. 
    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffe 
r& number, NumberFormatInfo info, Boolean parseDecimal) 
    at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo in 
fo) 
    at System.Int32.Parse(String s, NumberStyles style) 
    at Org.BouncyCastle.Math.BigInteger..ctor(String str, Int32 radix) 
    at Org.BouncyCastle.Math.BigInteger..ctor(String value) 

有什麼不對嗎?

+0

考慮改變這個問題的標題 - 異常正在由Org.BouncyCastle拋出。 Math.BigInteger類,而不是mscorlib.dll – DaveRead 2011-06-16 11:16:35

+0

您是否正在定位.net 4.0,因爲如果可能的話,您可能應該使用System.Numerics.BigInteger:http://msdn.microsoft.com/en-us/library/system.numerics .biginteger.aspx – Stormenet 2011-06-16 11:19:34

+0

@DaveRead該dubgger打破了,給我的標題錯誤,但期望拋出預期。 – Abanoub 2011-06-16 11:19:47

回答

3

如果你的串號是十六進制的,你需要在構造函數中指定的基數爲:

BigInteger P = new BigInteger(p,16); 
相關問題