0

「1」を入力した場合のように、結果は常に 10 進数形式で取得され、「1.0」に変換され、最終結果も 10 進数形式になります。ユーザー入力を常に 10 進数形式ではなく単純形式で表示する方法を教えてもらえますか?

これは私の以前の投稿に関連しています:

private void handleEquals(int newOperator) {
if (hasChanged) {
switch (operator) {
case 1:
    num = num + Double.parseDouble(txtCalc.getText().toString());
    break;
case 2:
    num = num - Double.parseDouble(txtCalc.getText().toString());
    break;
case 3:
    num = num * Double.parseDouble(txtCalc.getText().toString());
    String strNum = null; 
    strNum = Double.toString(num);
    if(strNum.contains("E")){
    strNum = strNum.substring(0, 6) + strNum.substring(strNum.indexOf("E"));
    }
    Log.i("MULTIPLICATION","Checking Precision");
    System.out.println("New StrNum is: " + strNum);
    num = Double.valueOf(strNum);
    break;
case 4:
    num = num / Double.parseDouble(txtCalc.getText().toString());
    break;
}
4

2 に答える 2

0

いずれの場合も、前に次の行を追加してくださいbreak

int number = (int)num;

更新された回答:

int num;
num = num + (int)Double.parseDouble(txtCalc.getText().toString());

また

int num;
num = num + Integer.parseInt(txtCalc.getText().toString());
于 2011-08-19T06:26:20.057 に答える
0

数値が整数かどうかをテストする必要があります。

String result;

if (num==(int)num) {
    result = String.valueOf((int)num);
} else {
    result = String.valueOf(num);
}

// display result to user
于 2011-08-19T06:31:20.040 に答える