@cainiaofe/cn-utils
Version:
菜鸟前端基础工具库
78 lines (77 loc) • 3.25 kB
JavaScript
"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;