在模型中对余额进行了 bcmul($value, 100, 2) 乘100计算的,数据库中存储的是1,但是在导出的时候应该 bcdiv($value, 100, 2) 除以100一下,变为0.01才正确的。导入没有测试,不知道会不会有类似问题。
bcmul($value, 100, 2)
bcdiv($value, 100, 2)
首先咱们分析一下源码,找到导出时数据是哪里获取的 Dataexport.php 201行 可以看到是执行的sql 再往上找这个sql是哪里来 113行 然后ExportLib.php 61行
所有从始至终导出插件都是使用Db去生成sql操作的,你这个数据除以100是在模型里面操作的,用模型获取才会有效果
很透彻,感谢大佬解答
存储的就是分为单位哈
导出为 0.01 才是正确的,数据表中存储的是 ×100 后的结果 1 呀,导出的时候是不是应该 ÷100 把数据还原为 0.01 呢?
0.01
×100
1
÷100
首先咱们分析一下源码,找到导出时数据是哪里获取的
Dataexport.php 201行
可以看到是执行的sql
再往上找这个sql是哪里来
113行
然后ExportLib.php 61行
所有从始至终导出插件都是使用Db去生成sql操作的,你这个数据除以100是在模型里面操作的,用模型获取才会有效果
很透彻,感谢大佬解答