_exitFormulaMode() {
        // Parse the formula
        let formula = AutoNumericHelper.getElementValue(this.domElement);
        formula     = formula.replace(/^\s*=/, ''); // Remove all the leading whitespaces and the equal sign from the formula
        let result;
        try {
            const ast = new Parser(formula, this.settings.decimalCharacter);
            result    = (new Evaluator()).evaluate(ast);
        } catch (e) {
            // Error when parsing the math expression
            this._triggerEvent(AutoNumeric.events.invalidFormula, this.domElement, {
                formula,
                aNElement: this,
            });
            this.reformat();
            this.formulaMode = false;

            return;
        }

        // The math expression is correctly parsed
        this._triggerEvent(AutoNumeric.events.validFormula, this.domElement, {
            formula,
            result,
            aNElement: this,
        });
        this.set(result); // Note: we can have a valid formula, but an invalid value (i.e. out of the min/max range)
        this.formulaMode = false;
    }
Exit the formula mode
Tries to parse and evaluate the math expression, then `set()` the result if it's correct, otherwise reformat with the previous `rawValue`
@private