java计算器 图形用户界面 升级版v2.0 (限制位数显示+四舍五入的处理)(五)

2014-11-23 22:06:12 · 作者: · 浏览: 4
ase 1: num_record = num_record + Double.parseDouble(str);break; case 2: num_record = num_record - Double.parseDouble(str);break; case 3: num_record = num_record * Double.parseDouble(str);break; case 4: num_record = num_record / Double.parseDouble(str);break; case 5:break; } show_str=show_str+text_show.getText()+"-"; text_show1.setText(show_str); str=""; count_point=0; text_show.setText(""); operator=2; } } } }); button_multiplication.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (str.equals("")) {} else { switch (operator) { case 0: num_record = Double.parseDouble(str);break; case 1: num_record = num_record + Double.parseDouble(str);break; case 2: num_record = num_record - Double.parseDouble(str);break; case 3: num_record = num_record * Double.parseDouble(str);break; case 4: num_record = num_record / Double.parseDouble(str);break; case 5:break; } show_str = show_str + text_show.getText() + "*"; text_show1.setText(show_str); str=""; count_point=0; text_show.setText(""); operator=3; } } }); button_division.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (str.equals("")) {} else { switch (operator) { case 0: num_record = Double.parseDouble(str);break; case 1: num_record = num_record + Double.parseDouble(str);break; case 2: num_record = num_record - Double.parseDouble(str);break; case 3: num_record = num_record * Double.parseDouble(str);break; case 4: num_record = num_record / Double.parseDouble(str);break; case 5:break; } } show_str = show_str + text_show.getText()+"/"; text_show1.setText(show_str); str=""; count_point=0; text_show.setText(""); operator=4; } }); button_equal.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (str.equals("")) {} else { switch (operator) { case 0: num_record = Double.parseDouble(str);break; case 1: num_record = num_record + Double.parseDouble(str);break; case 2: num_record = num_record - Double.parseDouble(str);break; case 3: num_record = num_record * Double.parseDouble(str);break; case 4: num_record = num_record / Double.parseDouble(str);break; case 5:break; } } show_str=""; count_point=0; //输出显示 text_show1.setText(""); if(num_record-(int)num_record==0){ text_show.setText(""+(int)num_record); } else{//保留总共15位数字,确保显示框能装下 if((""+num_record).length()>
16){ String s=(""+num_record).substring(0,16); text_show.setText(round(s));//四舍五入处理 } else{ text_show.setText(""+num_record); } } operator=5; } }); } public String round(String s){//四舍五入 double k; String s1; int len;//小数的位数(15位以内) k=Double.parseDouble(s); s1=""+(i