当前位置: 首页 > 面试题库 >

如何使JFormattedTextField接受不带小数点(逗号)的整数?

蒋嘉颖
2023-03-14
问题内容

JFormattedTextFieldNumberFormat这种方式使用:

-Creat一个JFormattedTextFieldrefernce

JFormattedTextField integerField;

-创建NumberFormatrefernce

NumberFormat integerFieldFormatter;

-在构造函数中:

integerFieldFormatter = NumberFormat.getIntegerInstance();
integerFieldFormatter.setMaximumFractionDigits(0);

integerField = new JFormattedTextField(integerFieldFormatter );
integerField.setColumns(5);

.....

我本打算只将其与整数一起使用,但是当我键入1500之类的数字时,它会在失去焦点到1500后转换为它,并且抛出异常是这行的第一行:

线程“ AWT-EventQueue-0”中的异常java.lang.NumberFormatException:对于输入字符串:“ 1,500”

当我使用JTextField而不是JFormattedTextField通常接受的所有整数时,但是我要使用的原因JFormattedTextField是要受益于其输入限制的优点。


问题答案:

我找到了解决问题的方法; 是:

确切的问题是,当我使用JFormattedTextFieldwith时NumberFormat,JFormattedTextField在后面的任何3位数字前
添加 逗号“,”

1000呈现为1,000

10000渲染为10,000

1000000渲染为1,000,000

当我从JFormattedTextField读取一个整数值时,这行代码

  int intValue = Integer.parseInt(integerField.getText());

逗号作为字符串的一部分读取;1000读取为1,000,并且此字符串值无法转换为整数值,因此引发异常。

我将在这里重复

str.replaceAll(",","")

 int intValue = Integer.parseInt(integerField.getText().replaceAll(",", ""));

这将替换','返回的字符串中的任何逗号,并且将正常转换int为预期的形式。

问候



 类似资料:
  • 问题内容: 如何将十进制值转换为逗号? 这对我有帮助。但是我的问题是,小数位仅设置为2。我希望小数是2、3或4。 我试过了 输出:1234.1234 没有逗号。但是如果我用钱,小数点只能是2 convert(varchar,convert(money,1234.1234567),1) 输出:1,234.12 问题答案: 而不认为这是一个好主意… 功能

  • 问题内容: 因此,几天前我开始学习Java并遇到了一个问题。对于下一个表达式: 不被允许。但是,在中,我们可以使用类似: 由于不允许将整数隐式地分配给字符串,因此上述表达式为何起作用?任何人都可以给出详细的解释吗?我也想知道我们什么时候可以使用这种隐式事物,什么时候不能使用。 问题答案: PrintStream 有很多重载方法:

  • 问题内容: 使用时,Double将添加逗号(5143打印为5,143)。如何禁用逗号? 问题答案: 您的问题属于Rorick正确指出的语言环境。但是,您应该查看DecimalFormat类,以防更改Locale意味着弄乱了所有东西。 查看NumberFormat类,以处理千位分隔符。因为看来您的情况是关于千位分隔符。

  • 我是python新手。在python中,我希望将浮点变量转换为具有2位小数和小数逗号的字符串变量。 例如,3.1415-- 它工作得很好。但是当我转换1.20时,它得到的是1,2,而不是1,20。我想问后一个问题,有没有一个简单的方法来实现这一点?谢谢大家 我的代码如下:

  • 如标题所示,我希望将逗号小数(法属加拿大系统)转换为VBA的周期小数。 除此之外, 它必须转换第3和第4列 这些列中的一些单元格是空的(我不是说所有小数以下的空单元格,而是介于两者之间的单元格) 小数是字符串 下图中的行数仅供示例之用。它们可能要多得多。 小数也因表而异(银行对账单对银行对账单),所以我不想要只适用于这些数字的代码。 小数分隔符是"," 组分隔符为" 最后,一些我并不想要的图片(请

  • 问题内容: Go 支持以数千个逗号输出数字吗? 输出,我可以指定输出什么格式呢? 这些文档似乎没有提到逗号,而且我也无法立即在源代码中看到任何内容。 问题答案: fmt打印动词均不支持数千个分隔符。