Floating point and decimal literals

Floating-point literal values can take one of the following forms:

Optional sign, integer digits followed by an exponent.

Optional sign, integer digits, a decimal point, and an optional exponent,

Optional sign, integer digits, a decimal point, fraction digits, and an optional exponent.

Optional sign, a decimal point, fraction digits, and an optional exponent.

If the sign is omitted, + is assumed. If the exponent is omitted, e0 is assumed.

The exponent is the letter "e" followed by an optional sign, and one or more decimal digits.

Examples:

f := 0.0;

f := 1.;

f := 200128.00005

f := 3.14159265358979;

f := 1e4;

f := 1e-4;

f := 10000e0;

f := .1234;

f := .1234e4;

f := 1.E-32;

f := 1.E-032;

f := 6.0221415E23;

f := 1.7976931348623157e308;

f := 1.;

f := 200128.00005

f := 3.14159265358979;

f := 1e4;

f := 1e-4;

f := 10000e0;

f := .1234;

f := .1234e4;

f := 1.E-32;

f := 1.E-032;

f := 6.0221415E23;

f := 1.7976931348623157e308;

The largest positive floating point literal value that can be represented in EPL is 1.7976931348623157 * 10308. The smallest positive nonzero value that can be represented is 2.2250738585072014 * 10-308. If you write a floating-point literal whose value would be outside the range of values that can be represented, the compiler raises an error.