我作为顾问从事名为 Oracle RPAS 的产品,该应用程序是使用 C++ 开发的。在 Oracle RPAS 中,可以对定制开发的 Java 程序进行 JNI 调用以处理数据。存储在 Oracle RPAS for Real 中的数据始终是 Double(8 字节),Java 中也是如此。不幸的是,Oracle RPAS 使用硬编码值 0.0000000001 (1e-09) 作为 epsilon 来比较双精度数和其他计算,即使数据以双精度数存储在数据库中。在 Java 中,我无法找到将代码与这个硬编码值对齐的方法。我需要以类似的方式比较数据集。这些是数学运算,我主要需要执行 min(double x,double Y) , max(double x,double Y) round(double x*double Y)/ double Y) , ceil , floor 等。
我需要帮助了解 epsilon 在 Java 中的工作原理吗?用于开发的 Java 版本是 1.6
我不是 Java 专家,并且有一些编码经验,任何起点都将有助于解决这个问题。