android String to Int 不工作

苏尼尔·米纳

您好,我是 android 新手,我正在尝试将字符串转换为 Int,但它不起作用。我正在使用 Volley 向服务器发送 HTTP GET 请求并返回一个数字,但 android 无法转换为整数

我的代码

     public void getRemainingTime() {
        // Instantiate the RequestQueue.
        RequestQueue queue = Volley.newRequestQueue(this);
        String url ="http://myurl.com/xxx";
        // Request a string response from the provided URL.
        StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        int myNum = 0;
                        try {
                            myNum = Integer.parseInt(response);
                        } catch(NumberFormatException nfe) {
                            nfe.printStackTrace();
                        }
                        reverseTimer(myNum);
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                textTimer.setText("That didn't work!");
            }
        });
        // Add the request to the RequestQueue.
        queue.add(stringRequest);
    }
GolamMazid Sajib

您从服务器响应中收到非数字字符。在转换之前添加这一行:

response = response.replaceAll("[^0-9]","");

方法:

@Override
    public void onResponse(String response) {
        int myNum = 0;
        try {
            response = response.replaceAll("[^0-9]","");
            myNum = Integer.parseInt(response);
        } catch(NumberFormatException nfe) {
            nfe.printStackTrace();
        }
        reverseTimer(myNum);
    }

**您可以通过多种方式过滤。这里再给一个,由@YCF_L建议

response = response.replaceAll("\\D","");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章