用户把人工算的一列放进桌面《生成_道路运输量汇总表 (1).xlsx》,问差异原因。
用户追问「是不是取数维度不对造成的——程序直接加『城际城乡』,人工用『总量−城市内』」——
是的,正是这个原因,已在 09-19 修复并推送(问题记于《功能测试报告_中口径排名周转量口径统一_2026-09-19.md》)。
用户指令:「所有的数据都全部全精度保留,计算得到的结果显示两位小数。」
ReportExportService.java 去掉 40 处写入前的 round(...)——÷10000 单位换算(省/市 × 月/累计四处)、setFreightShare、货运量排名/周转量排名块)、setDataCell、平均运距兜底、客运转运写入、投资进度、物流占比、投资计划万吨;WycSplitCalc.java 平均运距兜底改全精度并删除已无引用的私有 round。applyTwoDecimalFormat()0.00(保留 ;[Red]\(...\) 等前后缀),**3 位及以上小数的格式**(0.000_、0.0000)\.0{3,} 收敛为两位;百分比/日期/科学计数/文本格式不动;整数值沿用「不显示 .00」约定。round 保留(不进报表数据)。过程中修掉的两个自作聪明的坑(均已在测试报告「四、发现的问题与处置」留证):
货运!EO90/EO93/EO108/EO1110.0000(缓存值 0 被判为整数)→ 把格式归一判断**提到整数保护之前**。f.contains("0.00") 把 0.000_ 误判为「已是两位小数」,中口径明细 134 格漏改见《功能测试报告_全精度存储与两位小数显示_2026-09-20.md》:18 条用例(11 正向 / 4 回归 / 3 边界 / 1 负向挂起)通过。
wycSplit 因缺 docs\网络客运 输入目录 500,属既有问题)。=SUM(O4:O20) 与明细求和逐位闭合(差 0.0)。=ROUND(B/L*10,1)(货运量排名 Q4:Q42、货运周转量排名 Q5:Q44,共 72 格)。0.00 展示。若要彻底全精度,需把三个母版改成 =B/L*10(R 列 =10-Q)——**待用户拍板**。wycSplit 接口依赖 docs\网络客运\网络约车(全省)汇总.xlsx,该目录当前不存在,导出报 500,待补输入。ROUND(...,1)。docs\网络客运 输入后回归 wycSplit 导出。本次改动文件
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.javatraffic-audit-server/src/main/java/com/trafficaudit/reportexport/calc/WycSplitCalc.javadocs/功能测试报告/功能测试报告_全精度存储与两位小数显示_2026-09-20.md、本文件