我发现我需要以高精度计算大量数字。例如:5422300.8452。存储这些数据以便简单的算术运算符可以对其进行操作的最佳方式是什么?我一直在尝试组合长整型和 double 型,但经过大量计算后它变得很复杂。 我确信有一个简单的解决方案,只是我还不太了解。
好的,基本上,我明白了: 我的问题是我想保留小数点后 4 位的精度,但输入较大的数字会开始截断数字。例如,我有这个:
Double Remain = (double) Math.round((double quantity/12)*10000)/10000;
这适用于较小的数字,但 900000000 仍然会被截断为 7.5 左右。
所以我基本上需要将数字除以 然后取 2 的模并除以分母,并对结果进行舍入。 然后添加 2。
它有效!
最佳答案
BigInteger and BigDecimal是您正在寻找的类(class)。不过,您将无法使用简单的算术运算符,因为 Java 中不存在运算符重载。但这些类具有所有简单操作所需的方法。
关于java - 是否有一个包可以实现非常大的高精度数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7867763/