在一个JTextField中添加string和int值

时间:2013-02-20 04:32:24

标签: java swing jtextfield

使用

将米的用户输入转换为英尺和英寸
//     following format  (16ft. 4in.).  Disable the button so that
//     the user is forced to clear the form.

问题是我不知道如何将字符串和int值都放在一个文本字段中,而不是如何将它们设置为if else语句

   private void ConversionActionPerformed(ActionEvent e )
   {
         String s =(FourthTextField.getText());
         int val = Integer.parseInt(FifthTextField.getText()); 

         double INCHES = 0.0254001;
         double FEET = 0.3048;
         double meters;

         if(s.equals("in" ) )
         {
             FourthTextField.setText(" " + val*INCHES + "inch");
         }
         else if(s.equals("ft"))
         {
             FourthTextField.setText(" " +val*FEET + "feet");
         }
   }

是否可以在一个JTextField中添加string和int值?

1 个答案:

答案 0 :(得分:2)

你可以......

FourthTextField.setText(" " + (val*INCHES) + "inch");

FourthTextField.setText(" " + Double.toString(val*INCHES) + "inch");

FourthTextField.setText(" " + NumberFormat.getNumberInstance().format(val*INCHES) + "inch");

<强>更新

如果你关心的只是提取文本的数字部分,你可以做这样的事情......

String value = "1.9m";
Pattern pattern = Pattern.compile("\\d+([.]\\d+)?");

Matcher matcher = pattern.matcher(value);
String match = null;

while (matcher.find()) {

    int startIndex = matcher.start();
    int endIndex = matcher.end();

    match = matcher.group();
    break;

}

System.out.println(match);

这会输出1.9,在m之后被删除。这将允许您提取String的数字元素并转换为转换数字。

这将处理整数和十进制数。