我正在使用 Tomcat/JSTL/MySQL/等构建一个新的电子商务平台。
我知道与使用浮点计算相关的各种问题 - 例如 12.3456000000000789... 我知道舍入与截断也可能是一个问题。
在不将所有业务逻辑移入 Java 类的情况下,在保持架构简单的同时对货币进行可靠计算的最佳方法是什么?
我对可能性的想法包括:
- 隔离问题计算并单独处理
- 将数字表示为多头并使用美分进行计算
- 使用 BigDecimal 并在 Java 中进行所有计算
- 尽可能将数字存储在字符串中
- 使用 <fmt:formatNumber var="... 而不是 <c:set var="...
我可能不是第一个这样做的人。
最直接的方法是什么?