我现在正在做一个计算器,除了小数点外,一切都很好。
计算器实际上包含2个显示,一个叫做fakedisplay,用于实际操作,一个叫做Display,用于呈现所需的格式,即添加逗号。
按下 12345.678 时,Display 会跟随 fakedisplay 并显示为 12,345.678,但如果我按下 12345.009,fakedisplay 将正常工作为 12345.009,但 Display 卡在 12,345 直到按下 9,此时它会正常显示 12,345.009。
不过奇怪的是,当用户按0时,没有任何反应,直到按9,009才会立即追加。
我知道这是由解析代码引起的,但是基于此,我该如何修改以下代码?我真的想不出任何解决方案......非常感谢您的所有建议!
one.setOnClickListener(new View.OnClickListener() {
if (str.length()<15) {
Fakedisplay.append("1");
}
DecimalFormat myFormatter1 = new DecimalFormat("###,###,###,###.#################");
String str1=Fakedisplay.getText().toString();
String stripped1 = Double.valueOf(str1).toString();
stripped1 = myFormatter1.format(Double.valueOf(stripped1));
if (stripped1.endsWith(".0"))
stripped1 = stripped1.substring(0, stripped1.length() - 2);
Display.setText(stripped1);
}