電卓アプリでの除算の答えを正しく表示したい
IntelliJでAndroid電卓アプリを作っています。
90÷3や80÷4など割られる数が大きい0で終わる数の時に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
表示される数値
(90÷3)1E+1
(80÷4)2E+1
(880÷11) 8E+1
上記のように簡単な除算でも正しい数値が表示されません.
解決法がありましたら教えてください.
該当のソースコード
除算の際に=が押下された後の処理です.
java
1if (divf == 1){ 2 BigDecimal r1 = new BigDecimal(result1); 3 BigDecimal r2 = new BigDecimal(result2); 4 TextView resultText = findViewById(R.id.main_number_tv); 5 TextView operatorText = findViewById(R.id.op_tv); 6 if (r1.signum() == 0) 7 result2 = "error"; 8 else if (r2.signum() == 0) 9 result2 = "0"; 10 else { 11 BigDecimal div = r2.divide(r1,8,RoundingMode.HALF_UP); 12 result2 = String.valueOf(div.stripTrailingZeros()); 13 } 14 resultText.setText(result2); 15 operatorText.setText(""); 16 eq = 1; 17 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/20 11:54