在.net中加倍maxsize

时间:2014-03-31 08:20:20

标签: c#

我看到双倍最大尺寸是:-1.79769313486232e308到1.79769313486232e308

但是当我尝试设置时:

double bla = 99999999999999999999;

它说这个数字太大了。

双倍真的那么大吗? (E308)。

2 个答案:

答案 0 :(得分:6)

您需要将d添加到数字的末尾,以指定它是双精度。

double bla = 99999999999999999999d;

如果没有d后缀,它实际上是一个常量整数(或者,如果它不在整数范围之外),然后将其转换为double。

另请注意,由于floating point precision,您获得的号码实际上是1E20100000000000000000000

如果您确实想要使用该范围内的整数,则应该使用BigInteger代替。

答案 1 :(得分:1)

至少有一件事 - 99999999999999999999不是双常数。做到这一点

99999999999999999999.0

它应该有用。

http://www.blackwasp.co.uk/CSharpNumericLiterals.aspx

有更多关于所有数字文字的信息。