2

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

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,我的疑问是,我该如何做到这一点(乘以 2 个或更多大小数,然后转换为字符串)但使用 BigDecimals?

4

1 回答 1

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

Bigdecimal result = bd1.multiply(bd2);
System.out.println(result.toString());
于 2013-07-12T21:43:19.730 回答