如果ValueOF或Integer.parseInt无法正常工作,如何在Java中分割两个字符串?

时间:2019-03-21 13:36:53

标签: java string selenium oop automation

我必须在Java中将两个字符串的结果相除。我尝试了valueOF,parseUnsignedInt和其他方法,但是问题是,对于第一个字符串,它们不起作用。字符串是getText()来自某个Web元素的结果,我正在使用Selenium。这是我的代码

System.out.println( Integer.valueOf(st) /Integer.parseUnsignedInt( element.getAttribute("innerHTML").substring(16) ));

这是我的错误

Exception in thread "main" java.lang.NumberFormatException: For input string: "10,768"
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.base/java.lang.Integer.parseInt(Integer.java:652)
    at java.base/java.lang.Integer.valueOf(Integer.java:983)
    at com.company.Main.main(Main.java:64)

10768是我的String st的字符串号 我如何处理这种情况才能正确获得部门编号?

2 个答案:

答案 0 :(得分:1)

您可以使用以下命令将包含逗号的String值转换为整数:

int value = NumberFormat.getNumberInstance(java.util.Locale.US).parse(element.getAttribute("innerHTML").substring(16));

然后您可以将这个值用于您的部门,例如:

System.out.println(Integer.valueOf(st)/value);

答案 1 :(得分:-2)

最好的方法是通过replaceAll(",","")删除逗号