我制作的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;
答案 0 :(得分:3)
int LengthInt = Length.getText();
尝试将String对象(Length.getText()
)放入原始tipe(int
)。
在Java中没有从String到整数的隐式转换,因为String可以包含任何不能直接转换为数字的东西(例如“abc”)。
此外,前两行应更改为:JFormattedTextField Length = new JFormattedTextField(NumberFormat.getIntegerInstance());
使用NumberFormat而不是Number实例化JFormattedTextField。