java - 如何在 Java 中乘以 2 个或更多 BigDecimals?

标签 java android bigdecimal

<分区>

我正在为 android 编写一个单位转换器应用程序,我一直在使用 double 来执行计算和检索它们。我现在才意识到结果不准确。 这就是我想要做的:

EditText InputInMeters = (EditText) findViewById(R.id.****);
EditText AnotherTextBoxWIO = (EditText findViwById(R.id.****);
String ValueInMeters = InputInMeters.getText().toString();
double meters = Double.parseDouble(ValueInMeters);
double kilometers = (meters * 1000);
AnotherTextBoxWIO.setText(kilometers+"");

这适用于 1 或 10 这样的值,但对于 123.4 这样的值,输出是 0.1232(9)。 经过研究,我发现了 BigDecimals,我的疑问是,如何使用 BigDecimals 执行此操作(乘以 2 个或更多大的小数,然后转换为字符串)?

最佳答案

BigDecimal bd1 = new BigDecimal(string);
BigDecimal bd2 = new BigDecimal(string2);

Bigdecimal result = bd1.multiply(bd2);
System.out.println(result.toString());

关于java - 如何在 Java 中乘以 2 个或更多 BigDecimals?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17624440/

相关文章:

java - 如何配置 spring 应用程序以在 aws 上使用 IAM 角色(在 AWS ECS 中运行)并在 dev env 上使用凭据?

android - SQLite Cursor 在第一次调用时卡住大约 10 秒

android - 蓝牙RSSI最大值或最小值

java - BigDecimal:Java 编译器可以优化乘以 1 的乘法吗?

java - Collections.replaceAll(List<T> list, T oldVal, T newVal) 无法正确使用正则表达式,Java

java - 在Group之上展开Android的ExpandableListView Children

要使用的 Android 位置管理器权限

java - 如何在Android中的firestore中存储bigdecimal

java - 在没有 RoundingMode 的情况下检索 BigDecimal 数字中点后的数字

用于特征向量/特征值计算的 Java 包?