您好我正在开发一个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作为最终答案时?
非常感谢!
答案 0 :(得分:0)
只需将所有相关的float更改为double,就可以避免出现舍入错误。
如果想在点后填零后出现9位小数,例如7.56变为7.560000000,可以使用下面的编码。
Display.setText(String.format("%.9f", inputnum.get(0)));