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