Eventuali duplicati:
Round a double to 2 significant figures after decimal pointarrotondamento punti decimali
sto cercando di lavorare con la conversione di un grado decimale (23,1248) in una laurea minuti stile (23 7'29.3"). questo è quello che ho finora:
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
tutto funziona bene, ma vorrei per arrotondare i secondi fino al decimo o al decimo più vicino. Ho esaminato la formattazione decimale, ma preferirei non trasmetterla a una stringa. Ho anche guardato bigdecimal ma non penso che sarebbe utile,
c'è un metodo rotonda js –
ho pensato punti decimali erano già round. E meno segni, più segni e divisione erano tutti piatti :) Per "arrotondare fino a 100", basta usare "Math.round()": http://docs.oracle.com/javase/1.4.2/docs/api /java/lang/Math.html double x = round (y/100.0) * 100.0; – paulsm4
BigDecimal funziona bene, è possibile creare una funzione di arrotondamento (numero, decimali) come quella in questa risposta. Provalo, non vedo perché non funzionerebbe. http://stackoverflow.com/a/8911683/744859 –