0
Je reçois juste une valeur 0.008466 à partir d'une requête PHP, et je la convertis en float mais je n'arrive pas à l'obtenir.Java.lang.numberformatexception: Float invalide "0.008466"
J'ai essayé d'utiliser Numberformat et DecimalFormat et Float.parseFloat mais rien ... travailler
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());
}
}
Toute idée?
Eh bien, si le point est le problème, le remplacer par lui-même ne fera rien pour le résoudre. – Thomas
Cela vient d'un code php donc probablement un autre encodage donc le remplacement d'un point bizarre par un point décimal devrait le réparer. –
Si vous n'utilisez pas le "point bizarre" comme entrée dans la méthode de remplacement, il ne sera pas remplacé, c'est-à-dire que vous devrez connaître le type de "point étrange" auquel vous devez vous attendre. Si vous utilisez la chaîne littérale '". "', Ce sera toujours le caractère _same_. – Thomas