itDecimal

Accepts a fixed-point decimal number. The value is parsed as Currency (4 decimal places).

Accepted formats

A decimal number with an optional minus sign. Either . or , is accepted as the decimal separator, but not both in the same token. A token that contains both . and , is rejected with ERR_INVALID_FORMAT because the intended meaning is ambiguous (e.g. 1,234.5 could be 1234.5 in EN notation or a malformed input). Thousands grouping is not accepted. Spaces are stripped before parsing.

Valid:   3.14    -0.5    1,99    42    0.0001
Invalid: 1,000.00    1,234.5    1.234,5    3e4

Values[] and SQLValues[]

Values[] contains the locale-aware display form produced by CurrToStr. SQLValues[] always uses . as the decimal separator, regardless of locale.

Input: 1,99   →   Values[0]: 1.99  (en-US locale)
                  SQLValues[0]: 1.9900

List separator

Because , is a valid decimal separator, it is not accepted as a list separator for itDecimal. Only ; works as a list separator.

Input: 1.5,2.5   →   otSingleValue or ERR_INVALID_FORMAT (ambiguous)
Input: 1.5;2.5   →   otList, SQLExpression: IN (1.5000, 2.5000)

Range

Input: 1.00~9.99   →   otRange, SQLExpression: BETWEEN 1.0000 AND 9.9900

The left bound must be less than or equal to the right bound; otherwise ERR_INVALID_RANGE is returned.

(C) 2026 Easygate, Lda