c#中float类型的最大值

当我这样做:

float x = float.MaxValue; 

我有结果:3.40282347E + 38

什么是E + 38? 如果没有此符号,我该如何表示最大数字?

msdn说RANGE:±1.5×10 ^ -45到±3.4×10 ^ 38,但这对我没有帮助。

“E + 38”格式是默认格式。 如果您想查看整个数字,请指定不同的格式,如下所示:

 float.MaxValue.ToString("#") 

这将导致:

 340282300000000000000000000000000000000 

以下是一些其他格式: http : //msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.aspx

这是E符号,有时用于科学记数法。 它意味着“10的力量”

来自Wikipedia关于科学记数法的文章的E符号部分 :

因为像10 ^ 7这样的上标指数不能总是方便地显示,所以字母E或e通常用于表示提升到幂的十倍(其将被写为“x 10 ^ b”)并且后面是值指数。

因此, 3.40282347E+38等于3.40282347 * 10^38

请尝试以下代码:

 float f = float.MaxValue; Console.WriteLine("Origianl Value: " + f); Console.WriteLine("With Zeros:" + f.ToString("0")); 

 Origianl Value: 3.402823E+38 With Zeros:340282300000000000000000000000000000000 

这是科学记数法 。

 5E+2 = 5 x 10 ^ 2 = 5 x 10 * 10 = 5 * 100 = 500 

换句话说,就是移动小数点以计算结果的小数位数。 取5,将它移动2个位置,最后得到500.在你的例子中,你需要取你的数字, 3.40282347并将小数3.40282347 38次!

这是约。 340 000 000 000 000 000 000 000 000 000 000 000 000

如果你使用Dan的代码,你会得到这样的结果:

 340282300000000000000000000000000000000 

3.4e38是3.4 * 10 ^ 38或340000000000 ……(37个零)

附加信息:

http://msdn.microsoft.com/en-us/library/b1e65aza(v=vs.71).aspx