Los c lculos con n meros son posiblemente una de las tareas m s comunes en la programaci n. A veces necesitamos redondear un n mero a un cierto n mero de decimales o al valor entero m s cercano. En el lenguaje de programaci n Java hay varios m todos que nos permiten hacer esto.
M todo Math.round () es uno de los m todos m s simples y ampliamente utilizados para redondear n meros. Redondea el n mero al valor entero m s cercano. Por ejemplo, si tenemos el n mero 4.6, el m todo Math.round () lo redondear a 5 y el n mero 4.4 se redondear a 4. Este m todo devuelve un valor de tipo largo, por lo que si necesitamos obtener el resultado en el tipo int, necesitamos hacer un elenco de tipos.
Ejemplo de uso:
System.out.println (roundedNumber); / / Salida: 5
- doble redondedupnumber = Matem ticas.ceil (n mero);
- Sistema.fuera.println (roundedDownNumber); / / : 4.0
- Sistema.fuera.println (roundedUpNumber); / / : 5.0
- Java
- Java
- Matem ticas.redondo()
- Matem ticas.piso()
- Matem ticas.ceil()
- 1. Matem ticas.redondo()
2. Matem ticas.piso () Matem ticas.ceil()
3. Formato decimal.format () Cadena.formato()
4. M todos BigDecimal.setScale() y RoundingMode
Pregunta-respuesta
Qu m todos de redondeo de n meros hay en Java?
C mo uso el m todo round () para redondear un n mero en Java?
En qu se diferencia el m todo round () del m todo ceil ()?
C mo uso el m todo floor () para redondear un n mero hacia abajo?
Qu m todo se puede usar para redondear un n mero al lado m s cercano, mientras se puede seleccionar un valor con un n mero par de d gitos significativos?
Es posible redondear un n mero a un cierto n mero de decimales en Java?
M todos de redondeo de n meros en Java
M todo Math.ceil () - este m todo redondea el n mero hacia el lado grande, es decir, siempre redondea el n mero hacia arriba a la parte entera.
M todo Math.floor() este m todo redondea el n mero hacia abajo, es decir, siempre redondea el n mero hacia abajo a la parte entera.
M todo Math.rint() este m todo redondea el n mero al valor entero m s cercano, y si la parte fraccionaria del n mero es 0.5, el n mero se redondea al n mero par hacia abajo.
M todos DecimalFormat: hay varios m todos en la clase DecimalFormat para especificar el formato de redondeo de n meros. Por ejemplo, el m todo setRoundingMode() le permite establecer una regla de redondeo espec fica, y el m todo setMaximumFractionDigits() le permite establecer el n mero m ximo de decimales decimales.
Qu m todo de redondeo usar depende de los requisitos de la tarea en particular. Si desea redondear el n mero al valor entero m s cercano, puede usar el m todo Math.round(). Si desea redondear siempre el n mero hacia arriba, use el m todo Math.ceil(). Si desea redondear siempre el n mero hacia abajo, use el m todo Math.floor(). M todos De Matem ticas.rint () y DecimalFormat pueden ser tiles para una l gica de redondeo m s compleja.
Redondeo hacia abajo (Floor)
M todo
Math.floor()
devuelve el entero m s grande que es menor o igual que un n mero dado. Este m todo elimina la parte fraccionaria del n mero. Por ejemplo:
double number = 3.14;
Redondeo hacia arriba (Ceiling)
M todo
Math.ceil()
devuelve el n mero entero m s peque o que es mayor o igual que un n mero dado. Este m todo redondea el n mero al valor entero mayor m s cercano. Por ejemplo:
double number = 3.14;
Redondeo al entero m s cercano (Round)
M todo
Math.round()
redondea el n mero al valor entero m s cercano. Si la parte fraccionaria del n mero es 0.5, el n mero se redondear hacia el lado grande. Por ejemplo:
double number = 3.5;
long result = Math.round(number);
System.out.println(result); // Output: 4
Redondeo con decimal (DecimalFormat)
Clase
DecimalFormat
permite redondear un n mero y especificar el n mero de decimales. Por ejemplo:
import java.text.DecimalFormat;
double number = 3.14159;
DecimalFormat decimalFormat = new DecimalFormat("#.00");
String result = decimalFormat.format(number);
System.out.println(result); // Output: 3.14
Redondeo con modo de redondeo
Java , . :
importe java.matem ticas.Modo de redondeo;
n mero doble = 3.14159;
doble resultado = Matem ticas.redondo (n mero * 100)/ 100.0;
Sistema.fuera.println(resultado); / / Salida: 3.14
n mero doble = 3.14159;
doble resultado = Matem ticas.piso (n mero * 100)/ 100.0;
Sistema.fuera.println(resultado); / / Salida: 3.14
- n mero doble = 3.14159;
- doble resultado = Matem ticas.ceil (n mero * 100) / 100.0;
Sistema.fuera.println(result); // Output: 3.15
El uso de t cnicas de redondeo en Java depende de la tarea espec fica y la precisi n de redondeo requerida. La elecci n del m todo de redondeo depende del resultado que desee obtener.
M todo Math.round()
M todo Math.round () es uno de los m todos de la clase Math que proporciona la capacidad de redondear un n mero al entero m s cercano.
Sintaxis del m todo Math.round () es el siguiente:
public static long round(double a)
M todo Math.round () toma un argumento de tipo double y devuelve un valor de tipo long.
Este m todo redondea el argumento al valor entero m s cercano seg n las reglas de redondeo:
Si la parte fraccionaria del n mero es menor que 0.5, el n mero se redondea hacia abajo (se descarta la parte fraccionaria).
Si la parte fraccionaria del n mero es mayor o igual a 0.5, el n mero se redondea hacia arriba (se agrega una unidad a la parte entera).
Ejemplo de uso del m todo Math.round():
double number = 2.3;
long roundedNumber = Math.round(number);
System.out.println (roundedNumber); / / Salida: 2
- En este ejemplo, la variable number se establece en 2.3. Despu s de llamar al m todo Math.round (number), el valor de la variable roundedNumber ser 2, ya que la parte fraccionaria del n mero es menor que 0.5.
Tambi n el m todo de matem ticas.round() se puede usar para redondear n meros negativos:
double negativeNumber = -1.8;
long roundedNegativeNumber = Math.round(negativeNumber);
System.out.println(roundedNegativeNumber); // : -2
negativeNumber -1.8. Math.round(negativeNumber), roundedNegativeNumber -2, 0.5.
Math.round () puede ser til cuando se trabaja con n meros cuando se necesita redondear el resultado de un c lculo al valor entero m s cercano.
M todo Math.floor()
M todo Math.floor () es uno de los m todos de redondeo de n meros en Java. Devuelve el entero m s grande que es menor o igual que el valor dado.
Sintaxis del m todo Math.floor():
Math.floor(double value)
Aqu value es el n mero a redondear.
Ejemplo de uso del m todo Math.floor():
double number = 3.14;
double result = Math.floor(number);
System.out.println(result);
En este ejemplo, el resultado del m todo Math funciona.floor() ser un n mero 3.0, ya que es el entero m s grande, menor o igual a 3.14.
M todo Math.floor() puede ser til, por ejemplo, cuando se trabaja con n meros reales, cuando se necesita obtener una parte entera de un n mero.
M todo Math.ceil()
M todo Math.ceil() es uno de los m todos de redondeo disponibles en el lenguaje de programaci n Java. Se usa para redondear un n mero en la direcci n del entero m s grande m s cercano. Al igual que otros m todos de redondeo, Math.ceil() toma un argumento: un n mero de tipo double y devuelve el resultado del redondeo como un entero de tipo double.
Ejemplo de uso del m todo Math.ceil():
double number = 3.8;
double roundedNumber = Math.ceil(number);
System.out.println(roundedNumber);
En este ejemplo, el valor de la variable number es 3.8. M todo Math.ceil() redondea este n mero en la direcci n del entero mayor m s cercano, es decir, en este caso a 4. El resultado del redondeo se almacena en la variable roundedNumber. Se muestra el valor de la variable roundedNumber, que es 4.
Si el n mero pasado al m todo Math.ceil(), ya es un entero, entonces no hay necesidad de redondearlo y el resultado ser el n mero original:
double number = 4.0;
double roundedNumber = Math.ceil(number);
System.out.println(roundedNumber);
En este ejemplo, el valor de la variable number es 4.0, que ya es un n mero entero. Por lo tanto, el resultado es el redondeo con el m todo Math.ceil() ser el mismo n mero 4.
M todo Math.ceil () es til cuando se trabaja con c lculos matem ticos donde se requiere redondear y obtener el entero m s grande m s cercano. Pero vale la pena se alar que solo funciona con n meros de tipo double, por lo que si necesita redondear un n mero de tipo int o long, debe usar otros m todos de redondeo como Math.round () o Math.floor().
Ejemplos de m todos de redondeo
Java proporciona varios m todos para redondear n meros. Estos son algunos de ellos:
1. M todo Math.round()
M todo Math.round () se usa para redondear un n mero al entero m s cercano.
double number = 3.7;
long rounded = Math.round(number);
System.out.println(rounded);
// Conclusi n: 4
2. M todos De Matem ticas.floor () y Math.ceil()
M todo Math.floor() redondea el n mero hacia abajo, hasta el entero m s grande, menor o igual al n mero dado.
double number = 3.7;
double rounded = Math.floor(number);
System.out.println(rounded);
// Conclusi n: 3
M todo Math.ceil() redondea el n mero hacia arriba, hasta el n mero entero m s peque o, mayor o igual que el n mero dado.
double number = 3.7;
double rounded = Math.ceil(number);
System.out.println(rounded);
// Conclusi n: 4
3. M todos DecimalFormat.format() y String.format()
M todos DecimalFormat.format() y String.format() le permite formatear un n mero de acuerdo con un patr n especificado.
double number = 3.7;
DecimalFormat df = new DecimalFormat("0.00");
String formatted = df.format(number);
System.out.println(formatted);
// Salida: 3.70
4. M todos BigDecimal.setScale() y RoundingMode
M todo BigDecimal.setScale() se usa para redondear un n mero con redondeo aritm tico en una escala dada.
BigDecimal number = new BigDecimal("3.7");
BigDecimal rounded = number.setScale(0, RoundingMode.HALF_UP);
System.out.println(rounded);
// Conclusi n: 4
Pregunta-respuesta
Qu m todos de redondeo de n meros hay en Java?
Java tiene varios m todos para redondear n meros: round(), ceil (), floor () y rint ().