java从字符串转换为int
我需要解析标签的值,以便将其存储为整数java从字符串转换为int,java,string,parsing,int,Java,String,Parsing,Int,我需要解析标签的值,以便将其存储为整数 JLabel lblSeatNo; int seatNo; seatNo = Integer.parseInt(lblSeatNo.getText()); 我在其他时候用过这个方法,但现在我得到了一个数字格式的异常,我不明白为什么 如果它有助于标签的价值可以变化,它的一般格式是:“A131”或“B504” 谢谢。点击此链接 例如,Integer.parseInt(myHexValue,16)假设您希望将其作为十六进制数(即基数16),则必须为调用提供
JLabel lblSeatNo;
int seatNo;
seatNo = Integer.parseInt(lblSeatNo.getText());
我在其他时候用过这个方法,但现在我得到了一个数字格式的异常,我不明白为什么
如果它有助于标签的价值可以变化,它的一般格式是:“A131”或“B504”
谢谢。点击此链接
例如,Integer.parseInt(myHexValue,16)假设您希望将其作为十六进制数(即基数16),则必须为调用提供基数- 如果需要十进制值(例如,以10为基数)并跳过字母,可以这样做
seatNo = Integer.parseInt(lblSeatNo.getText().substring(1));
尝试
int value=Integer.parseInt(十六进制字符串,16)代码>如果您知道字符串表示形式将始终为十六进制。您可能还需要检查所述方法的有效性。取决于您想要什么:
如果您只想解析数字(不包括a、b等),那么必须调用substring来删除字母。
如果字母是十六进制数字,那么你可以打电话给
整数.parseInt(hexNo,16)从您的评论中,似乎您只想从座椅标签中提取数字。但是,既然您说还需要重新创建座椅标签,那么在对象中,您可能还需要为包含字母的行添加字符串
所以你可以这样做(假设只有一封信)
然后再去拿标签
String label = row + seatNo;
您如何将A131
转换为int
?A131和B504都不是有效数字!如果要将它们解析为十六进制数,只需精确基数即可Integer.parseInt(lblSeatNo.getText(),16)代码>,否则它将使用默认的基数10。它们在基数16中有效。在我看来,lblSeatNo不太十六进制。谁会用十六进制值来计算数字@正如他们在España中所说的W.K.S;Qué?座位号不是十六进制的,而是要保留为“A103”或其他任何形式,这些数据要存储在LinkedList中存储的航班预订对象中,我想知道以int形式存储seatNo是否是我的错误。如果飞机的座位少于6列,你仍然可以使用十六进制。否则,您需要将字母和int存储在一起(我建议使用一个类)。“B692”可以是十六进制int。。。。“Z692”不能。你的要求是什么?
int seatNo = Integer.parseInt(lblSeatNo.getText().substring(1));
String row = lblSeatNo.getText().subString(0,1);
String label = row + seatNo;