chartx
Version:
Data Visualization Chart Library
56 lines (53 loc) • 1.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _numeral = _interopRequireDefault(require("numeral"));
/*
* 公共数据格式化处理
*/
// import Magix from 'magix'
var empty = '--';
/**
* 检查n是否为合法的Number,并且执行callback,否则执行nanCallback或者直接返回empty
* @param n
* @param callback
* @param nanCallback
* @returns
*/
var checkN = function checkN(n) {
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (n, originN) {};
var originN = n;
if (n === null || n === undefined || n === '') {
return empty;
}
n = n.toString().replace(/,/g, ''); //n可能是带千分位,的str
if (isNaN(+n)) {
return empty;
}
return callback(+n || 0, originN);
};
var _default = exports.default = {
formatPer: function formatPer(n, p) {
return checkN(n, function (n) {
p = p + '' === '0' ? 0 : +p || 2;
var val = (0, _numeral.default)(n * 100).format('0,0.'.padEnd(4 + p, '0')); //.format('0,0.00')
return val + '%';
});
},
formatInt: function formatInt(n) {
return checkN(n, function (n) {
var val = (0, _numeral.default)(Math.round(n)).format('0,0');
return val;
});
},
formatFloat: function formatFloat(n, p) {
return checkN(n, function (n) {
p = p + '' === '0' ? 0 : +p || 2;
var val = (0, _numeral.default)(n).format('0,0.'.padEnd(4 + p, '0'));
return val;
});
}
};