Docs
API文档
  • 简体中文
  • English
API文档
  • 简体中文
  • English
  • API文档

    • 统一约定
    • 入账/收款
    • 出账/代付
    • 账户余额
    • 交易查询
    • 异步通知(入账/出账)
    • 参数签名
    • 账户(Acct)说明
    • 特别说明/精度对账

特别说明/精度对账

精度长度

系统内部保留4位小数。对外处理、显示成为2位小数。

如。内部 123.1234 对外处理显示成 123.12。 处理算法见后续

精度算法

采用“银行家算法”。也即 “四舍六入五成双” 。举例如下:

普通四舍六入

  • 1.234 → 保留两位小数 = 1.23 (因为第三位是 4,<5,舍去)
  • 1.236 → 保留两位小数 = 1.24 (因为第三位是 6,>5,进一)

“五成双” 情况(关键) 当要舍入的位数正好是 5,且后面没有非 0 数字 时:

  • 1.245 → 保留两位小数 = 1.24 (舍弃,因为 24 是偶数)
  • 1.255 → 保留两位小数 = 1.26 (进一,因为 25 是奇数,进到偶数 26)

其他情况

  • 1.2457 → 保留两位小数 = 1.25 (因为虽然是 5,但后面还有 7,>0,所以直接进一)
  • -1.245 → 保留两位小数 = -1.24 (同样成双,结果靠偶数)
  • -1.255 → 保留两位小数 = -1.26 (奇数变偶数,向下取 -1.26)

数据计算及“误差”说明

本系统采取,每一笔订单,独立比例计算各个内容

假设点位

  • 点位1 0.013 -->1.3%
  • 点位2 0.017 -->1.7%
  • 点位3 0.019 -->1.8%
  • 点位4 0.021 -->2.1%

例子一:

假设某笔订单金额是. 132.57   则=>

  • 点位1 -> 132.57 *0.013 = 1.72341 记 1.72 (触发规则->四舍)
  • 点位2 -> 132.57 *0.021 = 2.78397 记 2.78 (触发规则->四舍)
  • 点位3 -> 132.57 *(0.021-0.018) = 0.39771 记 0.40 (触发规则->六入)
  • 点位4 -> 132.57 *(0.018-0.017) = 0.13257 记 0.13 (触发规则->四舍)
  • 假设公司 -> 132.57 *(0.017-0.013) = 0.53028 记 0.53 (触发规则->四舍)

总计结果加减校验:

假设公司 -> 2.78-0.40-0.13-1.72=0.53。

两种方式,结果一致

例子二:

假设某笔订单金额是. 345.00

  • 点位1 -> 345.00 *0.013 = 4.485 记 4.49 (触发规则->六入)
  • 点位2 -> 345.00 *0.021 = 7.245 记 7.24 (触发规则->五成双)
  • 点位3 -> 345.00 *(0.021-0.018) = 1.035 记 1.04 (触发规则->四舍)
  • 点位4 -> 345.00 *(0.018-0.017) =0.345 记 0.34 (触发规则->五成双)
  • 假设公司 -> 345.00 *(0.017-0.013) = 1.38 记 1.38

总计结果加减校验:

假设公司 -> 7.24-1.04-0.34-4.49 =1.37 与 点位差乘以总额误差 0.01

账目上,假设公司“多赚了”,0.01 。从另外的角度,会因计算公式不一样,导致“公司账上少了一分钱"

例子三:

假设某笔订单金额 125

  • 点位1 -> 125.00 *0.013 = 1.625 记 1.62 (触发规则->五成双)
  • 点位2 -> 125.00 *0.021 = 2.625 记 2.62 (触发规则->五成双)
  • 点位3 -> 125.00 *(0.021-0.018) = 0.375 记 0.38 (触发规则->六入)
  • 点位4 -> 125.00 *(0.018-0.017) =0.125 记 0.12 (触发规则->五成双)
  • 假设公司 -> 125.00 *(0.017-0.013) = 0.5 记 0.5

总计结果加减校验:

假设公司 -> 2.62-1.62-0.38-0.12=0.5 两种方式匹配。

但是。假设上游渠道不采取“五成双“规则,而是3位四舍五入则有可能被记录 125.00 *0.013 =1.53

假设公司 -> 2.62-1.63-0.38-0.12=0.49 . 最终导致"公司账上少了一分钱"

Prev
账户(Acct)说明