export default class NumberUtil {
    static parseNumberWithDefault(data) {
        if (data.value === undefined || data.value === null || data.value === "") {
            return data.defaultValue;
        }
        const parsed = Number.parseInt(data.value, 10);
        if (!Number.isFinite(parsed)) {
            return data.defaultValue;
        }
        if (data.min !== undefined && parsed < data.min) {
            return data.defaultValue;
        }
        if (data.max !== undefined && parsed > data.max) {
            return data.defaultValue;
        }
        return parsed;
    }
    static getRandomNumber(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    static convertToTwoDecimalPlaces(value) {
        return Math.round(value * 100) / 100;
    }
    static isNumber(value) {
        return !isNaN(value);
    }
    static convertToNumber(value) {
        return Number(value);
    }
    static canBeConvertedToNumber(value) {
        return !isNaN(Number(value));
    }
    static isInteger(value) {
        return Number.isInteger(value);
    }
    static isPositive(value) {
        return value > 0;
    }
    static isNegative(value) {
        return value < 0;
    }
    static isZero(value) {
        return value === 0;
    }
    static isEven(value) {
        return value % 2 === 0;
    }
    static isOdd(value) {
        return value % 2 !== 0;
    }
    static isFloat(value) {
        return value % 1 !== 0;
    }
}
//# sourceMappingURL=Number.js.map