私は現在電卓に取り組んでおり、小数点以下の桁数を除いてすべて正常に動作します。
電卓には実際には 2 つのディスプレイが含まれています。1 つは実際の操作用の fakedisplay と呼ばれ、もう 1 つは目的の形式を表示するための Display と呼ばれます。つまり、カンマを追加します。
12345.678を押すと、ディスプレイはfakedisplayに従い、12,345.678として表示されますが、12345.009を押すと、fakedisplayは12345.009として正常に動作しますが、ディスプレイは9が押されるまで12,345のままスタックし、その時点では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);
}