2017-02-08 13 views
0

コードの次のセクションで、テキストボックスに2つの数字を追加しようとしましたが、2つの小さい数字を追加するとうまくいきますが、2つの大きな数字、例えば552886588と5588488を追加すると5.58475076E8テキストボックスに2つの数字を追加する

if (check.isChecked()) { 
       TextView tv1_chq = (TextView) popupView.findViewById(R.id.subname3); 
       TextView tv2_chq = (TextView) popupView.findViewById(R.id.subtotal3); 
       tv1_chq.setText("CHEQUE AMOUNT:"); 


       Double sum_cheque = Double.parseDouble(totalamt_checknew.getText().toString()); 

        if (rootlayout_check.getChildCount() > 0) { 
         for (int i = 0; i <= rootlayout_check.getChildCount() - 1; i++) { 
          View v; 
          v = rootlayout_check.getChildAt(i); 
          EditText et3 = (EditText) v.findViewById(R.id.checktotal); 
          sum_cheque = sum_cheque + Double.parseDouble(et3.getText().toString()); 
         } 

      } 
       tv2_chq.setText(String.valueOf(sum_cheque)); 
+0

使用することができます。そうじゃない? – Sweeper

+0

はい、それは整数フォーマットにしたいのですが – phoenixshiv

+0

'私はそれを整数フォーマットにしたいのですが' - なぜ 'Double'sを使うのですか '整数'ではないのですか? –

答えて

0

あなたは2重の数字を追加したり、それらの少なくとも1つは、二重であるfは、あなたの目的はそれではないでしょう二つの大きな整数値を追加する場合は、

String.format("%.0f", sum_cheque);

を使用することができます作業。

この場合、doubleの代わりにlongを使用できます。

long d1 = Long.parseLong(etext1.getText().toString()); 
long d2 = Long.parseLong(etext2.getText().toString()); 
long ans = d1 + d2; 
textView.setText(String.valueOf(ans)); 

編集1: あなたは小数と整数番号を追加したい場合は、結果が正しいBigDecimal

BigDecimal d1 = new BigDecimal(etext1.getText().toString()); 
BigDecimal d2 = new BigDecimal(etext2.getText().toString()); 

BigDecimal d = d1.add(d2); 

d.intValue(); 
textView.setText(d.toString()); 
+0

それは動作しますが、私は十進数を追加できません – phoenixshiv

+0

私は私の答えを編集しました。それがあなたが望むものかどうかを見てください。そうでない場合は、明確にしたいことを説明してください。 –

+0

は動作していませんが、まだ16進形式で表示されています – phoenixshiv

関連する問題