出于测试目的模拟 Java 中的 excel 微积分行为

Emulate excel calculus behavior in Java for testing purposes

我在 Java 中实现了一个算法,该算法基于马尔可夫链,用 Excel 公式编写,并将结果与​​ Jxl 库进行比较。正如我所读到的,问题是这两种语言的精度不同。事实上,它们 return 只等于小数点后第二位的结果。 "emulate" Excel 精度 Java 是否有方法来测试算法的行为是否完全相同?

您可以在此处找到 Excel 精度如何工作的分析:

https://community.oracle.com/thread/2053255?start=15&tstart=0

处理时出现小数点后第16位四舍五入

请参阅此问题以获取模拟浮点精度的方法:

我想这一切放在一起意味着在内部,意思是在单个单元格的公式内部,Excel 使用的是普通双精度数。但是在设置单元格的值时,小数点后16位向下舍入。这意味着对于您的算法,只要曾经有一个中间结果写入单元格,您就需要使用链接答案中的舍入方法。测试一下,我不清楚这些中间值是否需要四舍五入。