出于测试目的模拟 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位向下舍入。这意味着对于您的算法,只要曾经有一个中间结果写入单元格,您就需要使用链接答案中的舍入方法。测试一下,我不清楚这些中间值是否需要四舍五入。
我在 Java 中实现了一个算法,该算法基于马尔可夫链,用 Excel 公式编写,并将结果与 Jxl 库进行比较。正如我所读到的,问题是这两种语言的精度不同。事实上,它们 return 只等于小数点后第二位的结果。 "emulate" Excel 精度 Java 是否有方法来测试算法的行为是否完全相同?
您可以在此处找到 Excel 精度如何工作的分析:
https://community.oracle.com/thread/2053255?start=15&tstart=0
处理时出现小数点后第16位四舍五入
请参阅此问题以获取模拟浮点精度的方法:
我想这一切放在一起意味着在内部,意思是在单个单元格的公式内部,Excel 使用的是普通双精度数。但是在设置单元格的值时,小数点后16位向下舍入。这意味着对于您的算法,只要曾经有一个中间结果写入单元格,您就需要使用链接答案中的舍入方法。测试一下,我不清楚这些中间值是否需要四舍五入。