2.4.6. 浮点数字面值

浮点数字面值由以下词法定义进行描述:

  1. floatnumber ::= pointfloat | exponentfloat
  2. pointfloat ::= [digitpart] fraction | digitpart "."
  3. exponentfloat ::= (digitpart | pointfloat) exponent
  4. digitpart ::= digit (["_"] digit)*
  5. fraction ::= "." digitpart
  6. exponent ::= ("e" | "E") ["+" | "-"] digitpart

注意整型数部分和指数部分在解析时总是以 10 为基数。例如,077e010 是合法的,且表示的数值与 77e10 相同。浮点数字面值允许的范围依赖于具体实现。对于整型数字面值,支持以下划线进行分组。

一些浮点数字面值的示例如下:

  1. 3.14 10. .001 1e100 3.14e-10 0e0 3.14_15_93

在 3.6 版更改: 允许在字面值中使用下划线进行分组。