2014-03-31 16 views
0

只見雙最大尺寸雙最大範圍是:-1.79769313486232e308到1.79769313486232e308在.NET

但是當我試圖設置:

double bla = 99999999999999999999; 

它說的數量太大。

是真的那麼大嗎? (E308)。

回答

6

您需要將d添加到數字的末尾以指定它是雙精度型。

double bla = 99999999999999999999d; 

沒有d後綴,它實際上是一個常數整數(或將是,如果它是不出來整數範圍),然後將其轉換爲加倍。

另請注意,由於floating point precision,您返回的數字實際上是1E20100000000000000000000

如果您確實想要使用該範圍內的整數,則應該使用BigInteger來代替。

+0

是的,他們爲什麼這樣做? – omriman12

+0

@ omriman12注意你會失去精確度。你可以只有15位數字而不會失去精度。 –