Java 整数的解析器字符串

Java 整数的解析器字符串,java,android,parsing,integer,Java,Android,Parsing,Integer,这是我转换成整数的代码 我的日志猫出错了 我现在更改代码,试试看 String pricevalue=i.getStringExtra("info"); int start = pricevalue.indexOf("price:"); int index=pricevalue.indexOf("$"); price=pricevalue.subSequence(index,pricevalue.length()-1).toString(); int p1=Integer.parseInt(pr

这是我转换成整数的代码

我的日志猫出错了


我现在更改代码,试试看

String pricevalue=i.getStringExtra("info");
int start = pricevalue.indexOf("price:");
int index=pricevalue.indexOf("$");
price=pricevalue.subSequence(index,pricevalue.length()-1).toString();
int p1=Integer.parseInt(price.replaceAll("[\\D]", ""))

而不是

price=pricevalue.subSequence(index,pricevalue.length()-1).toString();
int p1=Integer.parseInt(price.toString());

也许这会解决你的问题。

天哪,你有个错误。从哪里来?什么语言?错误说它是Java,你怎么说?;-)小数点应该被转换成可以容纳它们的数据类型是的..“无法将“$34.00”解析为整数”--我想这就说明了一切。你需要从price变量中删除$(请下次阅读错误消息)
String pricevalue=i.getStringExtra("info");
int start = pricevalue.indexOf("price:");
int index=pricevalue.indexOf("$");
price=pricevalue.subSequence(index,pricevalue.length()-1).toString();
int p1=Integer.parseInt(price.replaceAll("[\\D]", ""))
price=pricevalue.subSequence(index+1,pricevalue.length()-1);
Double p1=Double.parseDouble(price);
price=pricevalue.subSequence(index,pricevalue.length()-1).toString();
int p1=Integer.parseInt(price.toString());