2016-03-08 75 views
0

我只是从PHP请求中获得0.008466值,并将其转换为浮点数,但无法获取。Java.lang.numberformatexception:无效浮点数“0.008466”

我试着使用NUMBERFORMAT和DecimalFormat的和Float.parseFloat但没有工作......

private void retrieveMinuteByDegreeValueFromPhp() throws IOException { 
    SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0); 
    SharedPreferences.Editor editor = prefs.edit(); 

    HttpClient httpclient=new DefaultHttpClient(); 
    HttpPost httppost=new HttpPost(URL_PHP_MINUTEDEGREE); 
    HttpResponse response = httpclient.execute(httppost); 

    if (response.getStatusLine().getStatusCode() == 200){ 
     String str = EntityUtils.toString(response.getEntity()); 
     float minuteByDegree = Float.valueOf(str); 
     if (minuteByDegree > 0){ 
      editor.putFloat(MINUTEBYDEGREE, minuteByDegree); 
      editor.commit(); 
     } 
     Log.d("MinuteByDegree","Minutebydegree : " + minuteByDegree); 

    } 
    else { 
     Log.d("MinuteByDegee","Error : " + response.getStatusLine().getStatusCode()); 
    } 
} 

任何想法?

+0

那么如果点是问题,然后自行更换它不会做任何事情来解决它。 – Thomas

+0

来自php代码,所以可能是另一种编码,所以用小数点替换一个奇怪的点应该修复它。 –

+0

如果您不使用“怪异点”作为替换方法的输入,它将不会被替换,即您实际上必须知道期望的是什么样的“奇怪点”。如果你使用字符串文字'“。”'它将永远是_same_字符。 – Thomas

回答

0

感谢@Thomas,在字符串中隐藏了一个不好的字符,而不是字符数组。 :)

相关问题