This abstract definition of a NUMBER is intended to be the unique
view of the client (do not use sub-classes names at all in the
client code). In order to create NUMBERs without using concrete
class name, the client code can inherit NUMBER_TOOLS. (See directory
${SmartEiffel}/tutorial/number for example.)
A maximum of decimal
digits places will be used for the decimal part. If the
all_digits flag is True insignificant digits will be included
as well. (See also decimal_in to save memory.)