我已经使用 JFormDesigner 创建了一个表单,当用户键入 4 位或更多数字时,需要自动添加 1000 位分隔符。我尝试了以下代码,但它没有实时添加分隔符(,)。
int no=Integer.parseInt(textField1.getText());
String str = String.format("%,d", no);
textField1.setText(str);
任何帮助将不胜感激。
既然你提到它不会实时添加分隔符,那么我怀疑你是在单击按钮或类似的东西时执行该代码的。
您需要做的是捕获击键事件并相应地修改文本。之前的SO帖子应该为您指明正确的方向。
Swing为此目的格式化了文本字段 - 我想你正在寻找JFormattedTextField
我想你可以使用它
DecimalFormat df = new DecimalFormat("#,###,##0.00");
df.format(no);
要获取自定义分组分隔符(如空格),请执行以下操作:
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
symbols.setGroupingSeparator(' ');
DecimalFormat formatter = new DecimalFormat("###,###.##", symbols);
System.out.println(formatter.format(bd.longValue()));
你应该使用DecimalFormat
类来添加,
的数量。
DecimalFormat df=new DecimalFormat("###,###");
int no=Integer.parseInt(textField1.getText());
String str = df.format(no);
textField1.setText(str);