我试图从包含数字的字符串中删除%符号,例如80%。我试图获取数字并丢弃%并将其转换为int。我试过了:
String sPorcentage = findECor1().getSelectedItem().toString();
int porcentage = Integer.parseInt(sPorcentage.replaceAll("%", ""));
zona1.moveAllCurtains(porcentage);
它有效,但控制台说:
697: error: cannot find symbol
[javac] int porcentage = Integer.parseInt(sPorcentage.replaceAll("%", ""));
[javac] ^
[javac] symbol: method replaceAll(String,String)
[javac] location: variable sPorcentage of type String
BUILD FAILED
帮助表示赞赏!
答案 0 :(得分:0)
我认为您可以使用以下代码而不是您的代码。我想它会服务于你的目的:
String str = "80%";
int perc=Integer.parseInt(str.split("%")[0]);
System.out.println(perc);
以上代码段会为您提供' 80'作为输出,也是整数变量。
答案 1 :(得分:0)
使用StringUtils.replaceAll(sPorcentage, "%", "");
答案 2 :(得分:0)
Shai已经回答了这个问题,代号不支持某些字符串函数,如replaceAll,split。但您可以使用他们提供的StringUtil类。 StringUtil.replaceAll()将执行您想要的操作。
StringUtil.replaceAll(String source, String pattern, String replace);
source - 字符串源
pattern - 要在源中替换的字符串
替换 - 替换字符串
这应该可以正常工作。
答案 3 :(得分:-1)
做一个
int porcentage = Integer.parseInt(findECor2().getSelectedItem().toString().replaceAll("%", ""));
应该有效。但是,您粘贴的错误表示未定义变量sPorcentage。
尝试在
中定义它 String sPorcentage = "80%";
int porcentage = Integer.parseInt(sPorcentage.replaceAll("%", ""));
System.out.println(porcentage);