Possible en double:
Round a double to 2 significant figures after decimal pointpoints décimaux arrondis
Je suis en train de travailler avec la conversion d'un degré décimal (23,1248) dans un degré de style minutes (23 7'29.3"). c'est ce que j'ai jusqu'à présent:
double a=23.1248;
int deg=(int)a;//gives me the degree
float b=(float) (a-deg);
int min=(int) (b*60);//gives me the minutes
double sec= (double) ((c*60)-min);//gives me my seconds
tout fonctionne bien, mais je voudrais arrondir les secondes au dixième ou au plus proche. J'ai regardé le formatage décimal, mais je préférerais ne pas le convertir en chaîne. J'ai aussi regardé bigdecimal mais ne pense pas que cela serait utile,
Il existe une méthode ronde js –
Je pensais que les points décimaux étaient déjà autour. Et les signes moins, plus les signes et la division étaient tous plats :) Pour "arrondir jusqu'à 100", il suffit d'utiliser "Math.round()": http://docs.oracle.com/javase/1.4.2/docs/api /java/lang/Math.html double x = rond (y/100.0) * 100.0; – paulsm4
BigDecimal fonctionne très bien, vous pouvez créer une fonction ronde (nombre, décimales) comme celle de cette réponse. Essayez-le, je ne vois pas pourquoi cela ne fonctionnerait pas. http://stackoverflow.com/a/8911683/744859 –