yuan
2 天以前 874b6ff29a335115e10d809a353fdd165f353d43
src/utils/formatNumber.js
@@ -73,3 +73,22 @@
  // 避免出现 "-0.00" 这类负零显示
  return parseFloat(text) === 0 ? text.replace(/^-/, "") : text;
};
/**
 * 最多保留 6 位小数:超过 6 位的按十进制四舍五入,再去掉末尾多余的 0
 * 用于采购/销售台账的金额、数量、单价等字段
 * 例:52333.580000 -> 52333.58 ;1.23456789 -> 1.234568 ;0.1 + 0.2 -> 0.3
 * @param {string|number} value 原始值
 * @returns {string} 格式化后的字符串
 */
export const formatDecimal6 = (value) => {
  if (value === undefined || value === null || value === "") {
    return "0";
  }
  const num = typeof value === "number" ? value : Number(value);
  // 非数字(如 "-"、"--")原样返回,避免把占位符显示成 0
  if (!Number.isFinite(num)) {
    return String(value);
  }
  return trimZeros(roundHalfUp(num, 6), 6);
};