我有一个带有Name Hectare的JFormattedTextField。 double类型的值声明如下所示
String cultivationSize = JFormattedTextField3.getText();
double hectare = Double.parseDouble(cultivationSize);
现在的问题是,当我输入的数字超过3位时,默认情况下,在3位数之后输入逗号,例如1000。我必须将此值添加到其他值。但是,由于这个逗号,我无法做到。
如何删除逗号并将此值添加到其他值?
答案 0 :(得分:12)
在JFormattedTextField上调用getValue()而不是getText()
答案 1 :(得分:8)
更容易的解决方案
Format format = NumberFormat.getIntegerInstance();
format.setGroupingUsed(false);
JFormattedTextField jtf = new JFormattedTextField(format);
这将使用逗号删除数字分组。
答案 2 :(得分:1)
你应该像这样使用MaskFormater:
zipField = new JFormattedTextField(
createFormatter("#####"));
...
protected MaskFormatter createFormatter(String s) {
MaskFormatter formatter = null;
try {
formatter = new MaskFormatter(s);
} catch (java.text.ParseException exc) {
System.err.println("formatter is bad: " + exc.getMessage());
System.exit(-1);
}
return formatter;
}
答案 3 :(得分:-1)
使用string.replace(",","");
即。你的代码看起来应该像 -
double hectare = Double.parseDouble(cultivationSize.replaceAll(",",""));