  /**
   * WXS 版精确乘法（适配商品单价×数量，支持任意小数位数）
   * @param {number} price - 单价（整数/小数）
   * @param {number} quantity - 数量（整数/小数）
   * @returns {number} 精确结果
   */
  function preciseMultiply(price, quantity) {
    // 处理空值/非数字，默认转为 0
    price = typeof price === 'number' ? price : 0;
    quantity = typeof quantity === 'number' ? quantity : 0;

    // 转为字符串，获取小数位数（WXS 不支持模板字符串，用字符串拼接）
    var priceStr = price.toString();
    var quantityStr = quantity.toString();

    // 计算小数位数（无小数则为 0）
    var priceDecimalLen = priceStr.indexOf('.') !== -1 ? priceStr.split('.')[1].length : 0;
    var quantityDecimalLen = quantityStr.indexOf('.') !== -1 ? quantityStr.split('.')[1].length : 0;

    // 最大小数位数，确定放大倍数（10^maxLen）
    var maxDecimalLen = Math.max(priceDecimalLen, quantityDecimalLen);
    var scale = Math.pow(10, maxDecimalLen); // WXS 支持 Math 对象

    // 放大为整数（用 Math.round 修正浮点数误差）
    var intPrice = Math.round(price * scale);
    var intQuantity = Math.round(quantity * scale);

    // 整数相乘后还原（除以 scale²，避免结果放大）
    return (intPrice * intQuantity) / (scale * scale);
  }

  // 暴露函数（WXS 必须通过 module.exports 暴露才能被 WXML 调用）
  module.exports = ({
    preciseMultiply: preciseMultiply
  })