System.register(["cc"], function (_export, _context) { "use strict"; var _cclegacy, StringFormat, _crd, StringFormatFunction; return { setters: [function (_cc) { _cclegacy = _cc.cclegacy; }], execute: function () { _crd = true; _cclegacy._RF.push({}, "85fe8Gc6h5Ava+JsdbBs8cR", "StringFormat", undefined); /** * 数值格式化函数, 通过语义解析自动设置值的范围 * //整数 * 1:def(0)//显示一个默认值 */ StringFormat = class StringFormat { deal(value, format) { if (format === '') return value; format = format.toLowerCase().trim(); // 不区分大小 var match_func = format.match(/^[a-z|A-Z]+/gi); // 匹配到 format 中的 函数名 var match_num = format.match(/\d+$/gi); // 匹配到 format 中的参数 var func = ''; var num = 0; var res = ''; if (match_func) func = match_func[0]; if (match_num) num = parseInt(match_num[0]); if (typeof value == 'number') { switch (func) { case 'int': res = this.int(value); break; case 'fix': res = this.fix(value, num); break; case 'kmbt': res = this.KMBT(value); break; case 'per': res = this.per(value, num); break; case 'sep': res = this.sep(value); break; default: break; } } else { switch (func) { case 'limit': res = this.limit(value, num); break; default: break; } res = value; } return res; } // 将数字按分号显示 sep(value) { var num = Math.round(value).toString(); return num.replace(new RegExp('(\\d)(?=(\\d{3})+$)', 'ig'), "$1,"); } // 将数字按分显示 00:00 显示 (ms制) time_m(value) {//todo } // 将数字按秒显示 00:00:00 显示 (ms制) time_s(value) {//todo } // 将数字按 0:00:00:000 显示 (ms制) time_ms(value) {//todo } // 将时间戳显示为详细的内容 timeStamp(value) { //todo return new Date(value).toString(); } /** [value:int] 将取值0~1 变成 1~100,可以指定修饰的小数位数 */ per(value, fd) { return Math.round(value * 100).toFixed(fd); } /** [value:int] 将取值变成整数 */ int(value) { return Math.round(value); } /** [value:fix2]数值转换为小数*/ fix(value, fd) { return value.toFixed(fd); } /** [value:limit3]字符串长度限制 */ limit(value, count) { return value.substring(0, count); } /** 将数字缩短显示为KMBT单位 大写,目前只支持英文 */ KMBT(value, lang) { if (lang === void 0) { lang = 'en'; } //10^4=万, 10^8=亿,10^12=兆,10^16=京, var counts = [1000, 1000000, 1000000000, 1000000000000]; var units = ['', 'K', 'M', 'B', 'T']; switch (lang) { case 'zh': //10^4=万, 10^8=亿,10^12=兆,10^16=京, var _counts = [10000, 100000000, 1000000000000, 10000000000000000]; var _units = ['', '万', '亿', '兆', '京']; break; default: break; } return this.compressUnit(value, counts, units, 2); } //压缩任意单位的数字,后缀加上单位文字 compressUnit(value, valueArr, unitArr, fixNum) { if (fixNum === void 0) { fixNum = 2; } var counts = valueArr; var units = unitArr; var res = ""; var index; for (index = 0; index < counts.length; index++) { var e = counts[index]; if (value < e) { if (index > 0) { res = (value / counts[index - 1]).toFixed(fixNum); } else { res = value.toFixed(0); } break; } } return res + units[index]; } }; /**格式化处理函数 */ _export("StringFormatFunction", StringFormatFunction = new StringFormat()); _cclegacy._RF.pop(); _crd = false; } }; }); //# sourceMappingURL=ec0daab12adab62901685d46d833f7f56e8952bc.js.map