2009-10-14 10 views
0

J'ai remarqué en testant les emplacements GPS, une valeur telle que -123 pourrait apparaître sur Android comme -23.83333336. Existe-t-il un moyen de formater les emplacements GPS entrants, par exemple avec deux décimales?Android GPS Format résultat

De cette façon, je peux stocker des valeurs comme -123.83 par opposition à des valeurs numériques plus longues. J'ai vérifié DecimalFormat et NumberFormat, mais ce sont des chaînes et mes nombres sont doubles, et je ne peux pas trouver une meilleure façon.

Et est-ce que quelqu'un connaît une valeur maximale d'un emplacement dans les valeurs numériques? Sachant que, je peux faire quelque chose comme

DecimalFormat df = new DecimalFormat("####.##"); 

connaître le nombre le plus élevé est dans les milliers, etc.

Répondre

2

Une fonction comme celle-ci arrondir sans convertir en une chaîne:

public static final double roundDouble(double d, int places) { 
    return Math.round(d * Math.pow(10, (double) places))/Math.pow(10, 
     (double) places); 
} 

Par exemple roundDouble(502.23525, 2) produira 502,24

1

Vous pouvez le multiplier par cent et le stocker dans un nombre entier si vous essayez de répliquer un nombre de précision fixe ber.