Floats

There are two floating point types, Float32 and Float64,
which correspond to the binary32
and binary64
types defined by IEEE.

A floating point literal is an optional + or - sign, followed by
a sequence of numbers or underscores, followed by a dot,
followed by numbers or underscores, followed by an optional exponent suffix,
followed by an optional type suffix. If no suffix is present, the literal’s type is Float64.

  1. 1.0 # Float64
  2. 1.0_f32 # Float32
  3. 1_f32 # Float32
  4. 1e10 # Float64
  5. 1.5e10 # Float64
  6. 1.5e-7 # Float64
  7. +1.3 # Float64
  8. -0.5 # Float64

The underscore _ before the suffix is optional.

Underscores can be used to make some numbers more readable:

  1. 1_000_000.111_111 # a lot more readable than 1000000.111111, yet functionally the same