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

时间:2018-07-15 02:37:34

标签: android numberformatexception

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

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

3 个答案:

答案 0 :(得分:1)

如果NumberFormatException不是整数的字符串表示形式(例如servicePrice"1"),则会得到一个"123"。示例包括空字符串(""),文本("abc"),十进制数字("1.23"),货币("$1.23""$2")或不是有效的数字("1.2.3""0..1"

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

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

答案 1 :(得分:0)

NumberFormatException 例外仅是因为servicePrice值不是数字String。 (任何不能转换为数字值的字符串值)

更好地捕捉价格= Integer.parseInt(servicePrice);

例如

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

答案 2 :(得分:0)

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

记录服务价格中存储了什么值

您只能将数字转换为String而不是字母。 您的serviceListArrayList.get(position).getPrice()可能返回带有诸如rs或dollar之类的字母的价格。 因此,请打印服务价格并检查。