@zcrkey/js-utils 0.0.6 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/util.js CHANGED
@@ -222,7 +222,7 @@ var CrUtil = /*#__PURE__*/function () {
222
222
  * @param settings.idField 默认值 id
223
223
  * @param settings.pidField 默认值 parentId
224
224
  * @param settings.childrenField 默认值 children
225
- * @deprecated 即将移除,使用 {@link CrObjUtil.listToTree} 替代
225
+ * @deprecated 即将移除,使用 {@link CrTreeUtil.listToTree} 替代
226
226
  * @returns
227
227
  */
228
228
  }, {
@@ -332,7 +332,7 @@ var CrUtil = /*#__PURE__*/function () {
332
332
  * @param settings.idField 默认值 id
333
333
  * @param settings.pidField 默认值 parentId
334
334
  * @param settings.childrenField 默认值 children
335
- * @deprecated 即将移除,使用 {@link CrObjUtil.treeToList} 替代
335
+ * @deprecated 即将移除,使用 {@link CrTreeUtil.treeToList} 替代
336
336
  * @returns
337
337
  */
338
338
  }, {
@@ -373,7 +373,7 @@ var CrUtil = /*#__PURE__*/function () {
373
373
  * @param settings.valueField 默认值 value
374
374
  * @param settings.idField 默认值 id
375
375
  * @param settings.pidField 默认值 parentId
376
- * @deprecated 即将移除,使用 {@link CrObjUtil.getFlatParentDatas} 替代
376
+ * @deprecated 即将移除,使用 {@link CrTreeUtil.getFlatParentDatas} 替代
377
377
  * @returns
378
378
  */
379
379
  }, {
@@ -672,7 +672,7 @@ var CrUtil = /*#__PURE__*/function () {
672
672
  }
673
673
 
674
674
  /**
675
- * 格式化为千分位
675
+ * 格式化为千分位,主要用于展示格式化
676
676
  * @param value
677
677
  * @returns 12345.6789 => 12,345.6789
678
678
  */
@@ -689,6 +689,55 @@ var CrUtil = /*#__PURE__*/function () {
689
689
  var formattedInt = intPart.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
690
690
  return decimalPart ? "".concat(formattedInt, ".").concat(decimalPart) : formattedInt;
691
691
  }
692
+
693
+ /**
694
+ * 格式化为千分位格式
695
+ * @param value
696
+ * @returns
697
+ */
698
+ }, {
699
+ key: "formatThousands",
700
+ value: function formatThousands(value) {
701
+ if (value == null) return '';
702
+ var raw = String(value).trim();
703
+ if (!raw) return '';
704
+ // 是否末尾点
705
+ var hasTrailingDot = raw.endsWith('.');
706
+ // 只保留数字/点/负号
707
+ var str = raw.replace(/[^\d.-]/g, '');
708
+ // 负号只留开头
709
+ var sign = str.startsWith('-') ? '-' : '';
710
+ str = str.replace(/-/g, '');
711
+ // 提取整数/小数(只认第一个点)
712
+ var _str$split = str.split('.', 2),
713
+ _str$split2 = _slicedToArray(_str$split, 2),
714
+ intRaw = _str$split2[0],
715
+ _str$split2$ = _str$split2[1],
716
+ decRaw = _str$split2$ === void 0 ? '' : _str$split2$;
717
+ // 整数去逗号+前导0
718
+ var intPart = intRaw.replace(/,/g, '').replace(/^0+(?=\d)/, '');
719
+ // 千分位
720
+ var formattedInt = intPart ? intPart.replace(/\B(?=(\d{3})+(?!\d))/g, ',') : '';
721
+ var result = sign + formattedInt;
722
+ if (decRaw || hasTrailingDot) result += '.';
723
+ if (decRaw) result += decRaw;
724
+ return result;
725
+ }
726
+
727
+ /**
728
+ * 解析千分位格式
729
+ * @param value
730
+ * @returns
731
+ */
732
+ }, {
733
+ key: "parseThousands",
734
+ value: function parseThousands(value) {
735
+ if (value == null) return '';
736
+ return String(value).trim().replace(/,/g, '') // 去千分位
737
+ .replace(/[^\d.-]/g, '') // 去非法
738
+ .replace(/(?!^)-/g, '') // 只留首负号
739
+ .replace(/(\..*)\./g, '$1'); // 只留第一个点
740
+ }
692
741
  }]);
693
742
  return CrUtil;
694
743
  }();