Cambiar los espacios decimales dobles en función del valor entero.
Quiero cambiar los espacios decimales de un double, dependiendo del valor entero que use. Descubrí que puedo cambiar los espacios decimales “manualmente” cambiando a 10 o 1000, y así sucesivamente, pero no sé cómo lograr esto, aparte de cambiar esos valores en el código.
Mi segunda pregunta es cómo redondear los valores double, por ejemplo, 19.657 hasta 19.66, o 19.652 hasta 19.65.
Nota:
– SIN el uso de importaciones y solo el paquete predeterminado
Utilizo Java con Eclipse como mi IDE.
Gracias de antemano por tu esfuerzo 🙂
double x = 19.657821456;
int y = 3;
x = x * 10;
x = (double)((int) x);
x = x / 10;
davy.ai
Para cambiar el número de decimales de un número de tipo double basado en un valor entero, puedes usar el siguiente código:
Este código multiplica el número dado por 10 elevado a la potencia del número de decimales deseado, lo redondea a un número entero y luego lo divide por la misma potencia de diez. Esto resulta en un número double con el número de decimales deseado.
Para redondear un valor double a un número específico de decimales, puedes utilizar el mismo enfoque que se mostró anteriormente, pero modificando el método de redondeo utilizado. Por ejemplo:
Este código multiplica el número dado por 10 elevado a la potencia del número de decimales deseado y luego le suma 0.5 antes de redondearlo hacia abajo. Esto resulta en que el número se redondee hacia arriba o hacia abajo al entero más cercano. Al dividir nuevamente por la potencia de diez, obtenemos un número double con el número de decimales deseado. En el ejemplo anterior, el número se redondea hacia arriba a 19.66. Para redondear hacia abajo, simplemente puedes usar
Math.ceil()
en lugar deMath.floor()
.