java - 是否有一个包可以实现非常大的高精度数字?

标签 java android variables double long-integer

我发现我需要以高精度计算大量数字。例如: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/

相关文章:

java - 将二维数组与数组进行比较,并替换匹配的元素

java - 在少数特定情况下丢失的日志消息

java - 在 Android 应用程序上从 Google Plus 帐户检索电子邮件

python - 从单独的类访问 Tkinter Canvas

javascript - 如何将 JavaScript 变量作为属性存储在对象内部

java - 如何将此字符串 "Mon Jan 01 00:00:00 AEDT 1990"转换为 "1990101"?

java - "<\div>"<div> 标签内的文本

android - 我们如何将 float 操作按钮放在任何布局的顶部

android - 在 Android 应用程序中集成两个 Unity 项目

oracle - 如何在Oracle plsql block 的一行中声明多个变量