在Java中模拟excel行为以进行测试

问题描述 投票:0回答:1

我在Java中实现了一个基于Markov链的Excel公式编写的算法,并将结果与​​Jxl库进行比较。正如我所读到的,问题是两种语言的精度不同。实际上,它们仅将相同的结果返回到第二个十进制数字。有没有一种方法可以在Java中“模拟”Excel精度,以测试算法的行为是否完全相同?

java excel precision jxl markov-chains
1个回答
1
投票

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

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

处理时似乎向下舍入第16个十进制数字。

有关模拟浮点精度的方法,请参阅此问题:

Matching Excel's floating point in Java

我想这一切都在一起意味着在内部,意味着在单个单元格的公式中,Excel使用正常的双精度。但是在设置单元格的值时,向下舍入16位小数。对于您的算法而言,无论何时将中间结果写入单元格,您都需要使用链接答案中的舍入方法。测试一下,对我来说,不清楚这些中间值是否需要四舍五入。

© www.soinside.com 2019 - 2024. All rights reserved.