2020-03-27 11:45
@AlienJunX jfinal 迭代 9 年,依然极简
始终坚持极简设计,极度保持加东西的克制才能打磨成今天的样子
感谢支持 jfinal 俱乐部
2020-03-26 23:05
@himans 已改进:
1:默认 scale 为 5
2:默认采用四舍五入
https://gitee.com/jfinal/jfinal/commit/cf791ec9a2f7ef14aa70b728e7ca58122a6184ec
试用后请反馈给我,我在本地测试非常完美
2020-03-26 12:49
@himans RoundingMode 这配置早已决定添加,所以上面的方案中并未谈到,并且已经决定采用四舍五入,毕竟很多人不太了解 "银行家舍入法"
scale 决定采用第一个方案,默认为 5 这个是否能满足你的绝大多数需求?
默认为 5 是这么考虑的:平常用到小数点两位,有时因为百分比需求要用到 4 位,再额外加 1 位增加精度
2020-03-25 16:49
@himans 我现在想对这个地方进行改进,现在有两个方案,看你那里希望选择哪一个?
方案一:
提供一个 setBigDecimalDivideMinScale(int) 方法用来配置 BigDecimal 除法的最小 scale,默认值为 5
然后代码这样用:
int scale = Math.max(bigDecimalDivideMinScale, (bd[0]).scale());
(bd[0]).divide(bd[1], scale, RoundingMode.HALF_EVEN);
也就是说 scale 取值为被除数的 scale 与配置值取最大值
方案二:
取被除数与除数中最大的 scale 值:
int scale = Math.max((bd[0]).scale(), (bd[1]).scale());
(bd[0]).divide(bd[1], scale, RoundingMode.HALF_EVEN);
结合你的应用场景,你觉得哪种方案最好?
在你的当前场景之外,你觉得哪个方案更好?
2020-03-25 16:42
@jiahaokkk jfinal 3.5 这个版本太旧了, 建议升级到 jfinal 4.8, 这里有详细的升级文档:
https://jfinal.com/doc/14-1
2020-03-25 16:41
@jiahaokkk jfinal 开源 8 年多,迭代 9 年多, 大量开发者天天在用, 社区需要对用户负责