Android计算器:操作查询+为答案输出删除不需要的零

时间:2012-08-22 18:03:34

标签: android integer decimal calculator

您好我正在开发一个Android计算器应用程序,现在正在进行操作。我已经定义了以下内容:

ArrayList<Float> inputnum = new ArrayList<Float>(); 
float inputnum1; 
float inputnum2; 

然后进行操作,

case MULTIPLY: 
inputnum1 = inputnum.get(0); 
inputnum2 = inputnum.get(1); 
inputnum.add(inputnum1 * inputnum2);  
Display.setText(String.format("%.9f", inputnum.get(0))); 

类似于第一师。

多功能和除法功能适用于整数(例如5 * 4输出20.00000000) 但是,当它处理带小数位的数字时,例如5.3 * 4,输出为21.12000089,这是不正确的。

有什么问题? 另外,如何设置输出到显示以删除不必要的零?例如 当5 * 4时它只显示20而不是20.000000作为最终答案? 当5.3 * 4 = 21.12而不是21.12000000作为最终答案时?

非常感谢!

1 个答案:

答案 0 :(得分:0)

只需将所有相关的float更改为double,就可以避免出现舍入错误。

如果想在点后填零后出现9位小数,例如7.56变为7.560000000,可以使用下面的编码。

Display.setText(String.format("%.9f", inputnum.get(0)));