static _calculateDecimalPlacesOnInit(settings) {
        // Check the `decimalPlaces*` options and output any warnings as needed, before modifying those options
        this._validateDecimalPlacesRawValue(settings);

        // Initialization phase
        //XXX This assumes at this stage, `settings.decimalPlaces` as been set from the default options

        // Overwrite the `decimalPlaces*` values if the `decimalPlaces*` options are not set in the `settings`
        // Sets `decimalPlacesShownOnBlur` (previously known as `scaleDecimalPlaces`)
        if (settings.decimalPlacesShownOnFocus === AutoNumeric.options.decimalPlacesShownOnFocus.useDefault)  {
            settings.decimalPlacesShownOnFocus = settings.decimalPlaces;
        }

        if (settings.decimalPlacesShownOnBlur === AutoNumeric.options.decimalPlacesShownOnBlur.useDefault)  {
            settings.decimalPlacesShownOnBlur = settings.decimalPlaces;
        }

        if (settings.decimalPlacesRawValue === AutoNumeric.options.decimalPlacesRawValue.useDefault)  {
            settings.decimalPlacesRawValue = settings.decimalPlaces;
        }

        // Add the additional decimal places to the raw value
        let additionalDecimalPlacesRawValue = 0;
        if (settings.rawValueDivisor && settings.rawValueDivisor !== AutoNumeric.options.rawValueDivisor.none) {
            additionalDecimalPlacesRawValue = String(settings.rawValueDivisor).length - 1; // i.e. Dividing by '100' adds 2 decimal places to the needed precision
            if (additionalDecimalPlacesRawValue < 0) {
                additionalDecimalPlacesRawValue = 0;
            }
        }

        settings.decimalPlacesRawValue = Math.max(
            Math.max(settings.decimalPlacesShownOnBlur, settings.decimalPlacesShownOnFocus) + additionalDecimalPlacesRawValue,
            Number(settings.originalDecimalPlacesRawValue) + additionalDecimalPlacesRawValue,
        );
    }
Calculate the number de decimal places to be used by the AutoNumeric object, for each of its state, and for its formatted and raw value.
By default, the `rawValue` precision is the same as the formatted value one.

This method is called during the AutoNumeric object initialization. This assumes some internal variable state.

This method set the following options accordingly to their own value and the mandatory `decimalPlaces` option:
- decimalPlacesRawValue     (nullable)
- decimalPlacesShownOnBlur  (nullable)
- decimalPlacesShownOnFocus (nullable)

Note: the `decimalPlaces` option is only used here and only serve to define those three previous options value.
AutoNumeric will then *only* use `decimalPlacesRawValue`, `decimalPlacesShownOnBlur` and `decimalPlacesShownOnFocus` from there.

This method directly modifies the `settings` object passed as a parameter.

@param {object} settings This is an object with the new settings to use.
@private