UNPKG

@cainiaofe/cn-utils

Version:

菜鸟前端基础工具库

78 lines (77 loc) 3.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.I18nNumber = void 0; var tslib_1 = require("tslib"); var bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js")); var i18n_1 = require("./i18n"); var utils_1 = require("../common/utils"); var I18nNumber = /** @class */ (function () { function I18nNumber(value, lang) { this.value = new bignumber_js_1.default(value); this.lang = (0, utils_1.getLang)(lang); this.numSysFormatConf = (0, i18n_1.getNumSysFormatConf)(this.lang); this.ROUND_UP = bignumber_js_1.default.ROUND_UP; this.ROUND_DOWN = bignumber_js_1.default.ROUND_DOWN; this.ROUND_CEIL = bignumber_js_1.default.ROUND_CEIL; this.ROUND_FLOOR = bignumber_js_1.default.ROUND_FLOOR; this.ROUND_HALF_UP = bignumber_js_1.default.ROUND_HALF_UP; this.ROUND_HALF_DOWN = bignumber_js_1.default.ROUND_HALF_DOWN; this.ROUND_HALF_EVEN = bignumber_js_1.default.ROUND_HALF_EVEN; this.ROUND_HALF_CEIL = bignumber_js_1.default.ROUND_HALF_CEIL; this.ROUND_HALF_FLOOR = bignumber_js_1.default.ROUND_HALF_FLOOR; } I18nNumber.prototype.getValue = function () { return this.value; }; // 获取当前值 I18nNumber.prototype.toFixed = function (decimalPlaces, roundingMode) { this.value = new bignumber_js_1.default(this.value.toFixed(decimalPlaces, roundingMode)); return this; }; I18nNumber.prototype.toFormat = function (decimalPlaces, roundingMode, fmt) { return this.value.toFormat(decimalPlaces, roundingMode, tslib_1.__assign(tslib_1.__assign({}, this.numSysFormatConf), (fmt || {}))); }; I18nNumber.prototype.toNumber = function () { return this.value.toNumber(); }; I18nNumber.prototype.toPrecision = function (significantDigits, roundingMode) { this.value = new bignumber_js_1.default(this.value.toPrecision(significantDigits, roundingMode)); return this; }; I18nNumber.prototype.comparedTo = function (n, base) { return this.value.comparedTo(n, base); }; I18nNumber.prototype.abs = function () { this.value = this.value.abs(); return this; }; I18nNumber.prototype.plus = function (n, base) { this.value = this.value.plus(n, base); return this; }; I18nNumber.prototype.minus = function (n, base) { this.value = this.value.minus(n, base); return this; }; I18nNumber.prototype.times = function (n, base) { this.value = this.value.times(n, base); return this; }; I18nNumber.prototype.div = function (n, base) { this.value = this.value.div(n, base); return this; }; I18nNumber.prototype.mod = function (n, base) { this.value = this.value.mod(n, base); return this; }; I18nNumber.prototype.isValid = function () { return this.value.isNaN() === false && this.value.isFinite() === true; }; I18nNumber.isValid = function (value) { var bigNumber = new bignumber_js_1.default(value); return bigNumber.isNaN() === false && bigNumber.isFinite() === true; }; return I18nNumber; }()); exports.I18nNumber = I18nNumber;