java - setText 上的 DecimalFormat

标签 java

我正在开发 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/

相关文章:

java - getClassLoader().getResourceAsStream ("../resources/config.properties") 返回 null

java - 如何计算后缀表达式中的符号?

java - Collection.parallelStream() 是否暗示发生在关系之前?

java - 制作按钮时,在范围内无法访问类型 MainActivity 的封闭实例

Java图像库-将网格图像转为数组

java - SuperDevMode 优于常规 GWT Dev 模式

java - 如何使用 Mockito 在模拟上显示所有调用

java - haarcascade_frontalface_alt.xml 不工作

java - 如何在 Java 中使用 readline() 方法?

java - jbutton.setEnabled(false) 不禁用按钮输入