Java Calculator将整数解析为double

时间:2017-08-23 07:24:52

标签: java calculator

这是我"添加"中的代码。我的计算器的按钮。我在某些数据类型验证中遇到问题: 例: 9.2 + 3.2 = 12.4,这样我的计算器工作正常。 但如果你首先输入整数像这样: 9 + 3.2,结果只有3.2。 如果第二个值存在小数,你怎么认为我可以解析第一个值?

private void btn_AddActionPerformed(java.awt.event.ActionEvent evt) {                                        

    //FOR DOUBLE CALCULATION
    if(ta_DisplayField.getText().contains(".") || c_History.contains(".")){
        c_Operator = '+';
        c_Container = "+";
        c_History = c_History + "+";
        ta_History.setText(c_History);

        c_totalDouble = (double)c_totalInt + Double.parseDouble(ta_DisplayField.getText());
        ta_DisplayField.setText(c_totalDouble + "");

        }
    }
    //FOR INTEGER CALCULATION
    else{
        c_Operator = '+';
        c_Container = "+";
        c_History = c_History + "+";
        ta_History.setText(c_History);

        c_totalInt = c_totalInt + Integer.parseInt(ta_DisplayField.getText());
        ta_DisplayField.setText(c_totalInt + "");

        }
    }
}

1 个答案:

答案 0 :(得分:0)

你正在重新发明灯泡。解决方案更简单:

String s = "9 + 3.2";

String[] split = s.split("\\+");

Double result = Arrays.stream(split).mapToDouble(Double::parseDouble).sum();

System.out.println(result);