从JFormattedTextField中提取数字

时间:2013-07-23 15:22:48

标签: java jformattedtextfield

我制作的JFormattedTextField格式化为只接受数字:

Number num;
JFormattedTextField Length =  new JFormattedTextField(num);

现在我想从中获取数字并将其乘以23。我知道你可以这样做:

String LengthStr = Length.getText();
int LengthInt = Integer.parseInt(LengthStr);
int Total = LengthInt*23;

但是,有没有更简单的方法?我试过了:

int LengthInt = Length.getText();
int Total = LengthInt * 23;

因为它应该是一个数字。

上述内容无效,因为它说

Required: int Found: String

我要求的是,如果将JFormattedTextField格式化为int,那么我肯定可以做类似的事情

int LengthInt = Length.getInt();
int Total = LengthInt *23;

1 个答案:

答案 0 :(得分:3)

不,你不能。行:int LengthInt = Length.getText();尝试将String对象(Length.getText())放入原始tipe(int)。

在Java中没有从String到整数的隐式转换,因为String可以包含任何不能直接转换为数字的东西(例如“abc”)。

此外,前两行应更改为:JFormattedTextField Length = new JFormattedTextField(NumberFormat.getIntegerInstance());使用NumberFormat而不是Number实例化JFormattedTextField。