0

我总是以十进制格式获得结果,例如如果我输入“1”,它会转换为“1.0”,最终结果也以十进制格式出现。谁能告诉我如何始终以简单格式而不是十进制格式显示用户输入?

这与我之前的帖子有关:

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 回答