Duplicar posible:
Round a double to 2 significant figures after decimal pointredondeo puntos decimales
estoy tratando de trabajar con un grado de conversión decimal (23.1248) en un grado minuto estilo (23 7'29.3"). esto es lo que tengo hasta ahora:
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
todo funciona bien, pero me gustaría para redondear los segundos hasta la décima o la hundrenth más cercana. He observado el formato decimal, pero preferiría no convertirlo en una cadena. También he considerado bigdecimal, pero no creo que sea útil,
hay un método redonda en js –
pensé puntos decimales ya eran redondos. Y los signos menos, más los signos y la división eran planos :) Para "redondear hasta 100", simplemente usa "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 funciona bien, puede crear una función redonda (números, decimales) como la de esta respuesta. Pruébalo, no veo por qué no funcionaría. http://stackoverflow.com/a/8911683/744859 –