如何避免在使用Colt矩阵库执行的财务计算中出现浮点错误?
发布于 2009-02-13 14:31:58
关于浮点类型的一些基本读物:What Every Computer Scientist Should Know About Floating Point Arithmetic
更具Java风格的东西:How Java’s Floating-Point Hurts Everyone Everywhere
发布于 2009-02-13 15:37:33
一种常见的技术是使用整数,并自己跟踪小数。例如,您可以决定所有货币金额将以3个小数点精度表示。因此,与其写:
double dollars = 10.05d;你写
int dollars = 10050;当您想要打印金额时:
System.out.println( dollars/100d );发布于 2009-02-13 17:49:57
对于金融类,更常见的是使用BigDecimal和相关的类。浮点数和双精度数在任何情况下都非常容易产生舍入误差。
如果你决定尝试一下BigDecimal,你可能会想看看Apache Commons Math。
https://stackoverflow.com/questions/546129
复制相似问题