Java.lang.numberformatexception:无效浮点数“0.008466”
问题描述:
我只是从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());
}
}
任何想法?
答
感谢@Thomas,在字符串中隐藏了一个不好的字符,而不是字符数组。 :)
那么如果点是问题,然后自行更换它不会做任何事情来解决它。 – Thomas
来自php代码,所以可能是另一种编码,所以用小数点替换一个奇怪的点应该修复它。 –
如果您不使用“怪异点”作为替换方法的输入,它将不会被替换,即您实际上必须知道期望的是什么样的“奇怪点”。如果你使用字符串文字'“。”'它将永远是_same_字符。 – Thomas