C# .net中的两倍最大值

C# .net中的两倍最大值,c#,C#,我看到双最大尺寸为:-1.79769313486232e308到1.79769313486232e308 但当我尝试设置时: double bla = 99999999999999999999; 它说这个数字太大了 double真的有那么大吗?(e308)。您需要在数字末尾添加d,以指定它是双精度的 double bla = 99999999999999999999d; 如果没有d后缀,它实际上是一个常量整数(或者,如果它没有超出整数范围,那么它将是常量整数),然后被转换为double 还要

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

但当我尝试设置时:

double bla = 99999999999999999999;
它说这个数字太大了


double真的有那么大吗?(e308)。

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

double bla = 99999999999999999999d;
如果没有
d
后缀,它实际上是一个常量整数(或者,如果它没有超出整数范围,那么它将是常量整数),然后被转换为double

还要注意,由于,您返回的数字实际上是
1E20
1000000000000000000


如果你真的想处理这个范围内的整数,你应该改为使用。

至少有一件事-999999999999999999不是双常数。成功

99999999999999999

它应该会起作用


在所有数字文字上有更多信息。

@omriman12请注意,您将失去精度。在不降低精度的情况下,您只能有15位数字。