“浮动”的最大值是多少?

Joh*_*ite 2 c# variables compiler-errors minimax

当我检查“float.MaxValue”的值时,我得到:

3.402823E+38

即:

340,282,300,000,000,000,000,000,000,000,000,000,000

那么为什么当我试图将一个小得多的值设置为一个浮点变量时:

浮动 myValue = 1234567890123456789024;

然后我收到一条错误消息:

“积分常数太大” ?

这个值比“3.402823E+38”小得多,为什么我会收到错误消息?

AAA*_*ddd 5

大多数数字类型都有一个MaxValue 字段

Single.MaxValue 字段

表示 Single 的最大可能值。该字段是恒定的。

这相当于

public const float MaxValue = 3.402823E+38;
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,您需要使用 usef后缀来指定数字文字的类型,否则它会将其解释为整数类型(在最大范围的级联范围内uint64)。

float myValue = 1234567890123456789024f;
Run Code Online (Sandbox Code Playgroud)

其他资源

值类型表(C# 参考)

编译器错误 CS1021

积分常数太大

由整数文字表示的值大于 UInt64.MaxValue。

UInt64.MaxValue 字段

表示 UInt64 的最大可能值。该字段是恒定的。

public const ulong MaxValue = 18446744073709551615;
Run Code Online (Sandbox Code Playgroud)