这个问题在这里已有答案:
当我检查“float.MaxValue”的值时,我得到:
3.402823E + 38
这是:
340,282,300,000,000,000,000,000,000,000,000,000,000
那么为什么当我试图将一个小得多的值设置为一个float变量时:
float myValue = 1234567890123456789024;
然后我收到一条错误消息:
“积分常数太大”?
这个值比“3.402823E + 38”小很多,所以为什么我会收到错误呢?
大多数数字类型都有MaxValue
字段
表示Single的最大可能值。该字段是常量。
这相当于
public const float MaxValue = 3.402823E+38;
但是在这种情况下,您需要使用f
后缀来指定数字文字的类型,否则它会将其解释为整数类型(在最大范围到uint64
的级联范围内)。
float myValue = 1234567890123456789024f;
其他资源
Value types table (C# Reference)
积分常数太大
由整数文字表示的值大于UInt64.MaxValue。
表示UInt64的最大可能值。该字段是常量。
public const ulong MaxValue = 18446744073709551615;