我正在开发 JFrameForm,只是在 GUI 上重新制作一些旧的练习。我想知道是否可以在 setText();
这是我的代码:
private void btn_calcularActionPerformed(java.awt.event.ActionEvent evt) {
DecimalFormat redondear=new DecimalFormat("##.##");
double radio;
double area;
radio=Double.parseDouble(txt_field_radio.getText());
area=Math.PI*Math.pow(radio, 2);
txt_field_area.setText(Double.toString(area));
这是我很好奇的一行:txt_field_area.setText(Double.toString(area));
。如果我把 2 作为半径,我希望它输出 12.56;相反,它输出 12.566370614359172。
我尝试过这个:
txt_field_area.setText(redondear.format(Double.toString(area)));
但它输出一个错误:
java.lang.IllegalArgumentException: Cannot format given Object as a Number
最佳答案
看这个:
DecimalFormat df = new DecimalFormat("0.00##");
String result = df.format(34.4959);
需要调用redondear格式化方法
private void btn_calcularActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DecimalFormat redondear=new DecimalFormat("0.00##");
//******* VARIABLES *****
double radio;
double area;
//****** CAPTURA DE DATOS ****
radio=Double.parseDouble(txt_field_radio.getText());
//****** OPERACIONES *********
area=Math.PI*Math.pow(radio, 2);
//**** IMPRESION ***********
txt_field_area.setText(redondear.format(Double.toString(area)));
关于java - setText 上的 DecimalFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49158966/