这个参数总是有两个边——小数和整数.整数的支持者认为小数可能不准确(在进行转换时),BigDecimal实现中包含错误,有时甚至是分段错误.
在我自己的项目中,我还提取了整数,将它们包装在一个自定义容器中,将美分转换为"真实"金额并返回.起初它看起来不错,但过了一段时间,它的使用变得非常麻烦——在处理美分、格式化字符串等时跟踪.
然后我又回到了小数——一直都是相同的格式,如果需要的话,我可以很容易地将金额转换成美分,我从盒子里得到了不同的舍入算法.我对小数更满意.
为了解决小数不准确的问题——在谷歌上搜索时,你可能会注意到大多数错误都与将小数转换为浮点数有关:)