如何将字符串值转换为整数?

How to convert string value to integer?

 String servicePrice = serviceListArrayList.get(position).getPrice();
        System.out.println ("Price======>"+servicePrice);
        price = Integer.parseInt(servicePrice);
        System.out.println("IntPrice====>"+price);

我想将此 servicePrice 值转换为整数值,但不幸的是遇到了 NumberFormatException,请帮助我解决此错误。

如果 servicePrice 不是整数的字符串表示(例如 "1""123"),您将得到 NumberFormatException。示例包括空字符串 ("")、文本 ("abc")、十进制数字 ("1.23")、货币(".23""")或不是有效数字("1.2.3""0..1"

如果您无法控制字符串,则需要使用适当的检查来处理是否输入了错误的值

int val = 0;
try {
    val = Integer.parseInt(str);
}
catch(NumberFormatException np) {
    // handle the case - e.g. error Toast message
}

异常NumberFormatException只是因为servicePrice值不是数字字符串。 (任何不能转换为数字值的字符串值)

最好你赶上,价格= Integer.parseInt(servicePrice);

例如

try
    {
        price  = Integer.parseInt(servicePrice);
    }
    catch(NumberFormatException ex)
    { // you can assign default as 0 here too.
      price =0;
    }

价格=Integer.parseInt(服务价格)

记录 serviceprice 中存储的值

您只能将数字转换为字符串,不能转换为字母。 您的 serviceListArrayList.get(position).getPrice() 可能会返回一些带有字母的价格,例如 rs 或美元。 所以打印服务价格并检查。