0

我使用 JFormDesigner 创建了一个表单,当用户键入 4 位或更多位数时,需要自动添加一个 1000 分隔符。我尝试了以下代码,但它没有实时添加分隔符(,)。

int no=Integer.parseInt(textField1.getText());
String str = String.format("%,d", no);
textField1.setText(str);

任何帮助,将不胜感激。

4

5 回答 5

0

Swing 为此目的格式化了文本字段 - 我认为您正在寻找JFormattedTextField

于 2013-10-23T06:11:39.240 回答
0

我想你可以用这个

 DecimalFormat df = new DecimalFormat("#,###,##0.00");
 df.format(no);
于 2013-10-23T06:12:01.240 回答
0

既然您提到它不会实时添加分隔符,那么我怀疑您是在单击按钮或类似的东西时执行该代码。

您需要做的是捕获击键事件并相应地修改文本。This previous SO post应该为您指明正确的方向。

于 2013-10-23T06:09:25.043 回答
0

您应该使用DecimalFormat类来添加,数字。喜欢

 DecimalFormat df=new DecimalFormat("###,###");     

 int no=Integer.parseInt(textField1.getText());
 String str = df.format(no);
 textField1.setText(str);
于 2013-10-23T06:10:17.390 回答
0

要获取自定义分组分隔符,例如空格,请执行以下操作:

DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
symbols.setGroupingSeparator(' ');

DecimalFormat formatter = new DecimalFormat("###,###.##", symbols);
System.out.println(formatter.format(bd.longValue()));
于 2013-10-23T06:28:49.043 回答