'float'的最大值是多少? [重复]

问题描述 投票:0回答:1

当我检查“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”小很多,所以为什么我会收到错误呢?

c# variables compiler-errors minimax
1个回答
3
投票

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

Single.MaxValue Field

表示Single的最大可能值。该字段是常量。

这相当于

public const float MaxValue = 3.402823E+38;

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

float myValue = 1234567890123456789024f;

其他资源

Value types table (C# Reference)

Compiler Error CS1021

积分常数太大

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

UInt64.MaxValue Field

表示UInt64的最大可能值。该字段是常量。

public const ulong MaxValue = 18446744073709551615;
© www.soinside.com 2019 - 2024. All rights reserved.