运营看板显示转化率 4%,按这个数报了投放方案。拉明细发现 10000 次访问只有 4 单,实际是 0.04%。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

rate=0.0004
print(f"{rate*100:.4f}%")
print(f"{rate:.2%}")

接口里 rate 存的是百分数 0.04,前端按比率又乘了一次 100,展示成 4。字段名没有单位,两个团队各按各的理解写,差了整一百倍。这一点先确认清楚,后面就不用反复试。

「百分比二次换算」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

具体做法是,字段统一存 0 到 1 的比率 名字带 ratio;展示层只做一次乘 100 加百分号;老接口改不动就在 DTO 注释里写清单位;报表加抽样校验 用单量除以访问量对一遍。

改完照着核一遍,页面显示 0.0400% 和明细里 4 单除以 10000 单对得上。

作者 9823189