Cómo agregar un valor largo y preservar la precisión al imprimir.
¿Cómo puedo conservar la precisión en la salida de mi suma? Creo que lo que sucede es que la precisión es exactamente la misma, pero una opción elige redondear.
java
public class Main {
public static void main(String[] args) {
final long seconds = 1637208584L;
final long micro_of_second = 795307;
final long sum = seconds + micro_of_second;
System.out.println(“seconds + micro_of_second: ” + seconds + micro_of_second);
System.out.println(“sum: ” + sum);
System.out.println(“¿igual?: ” + (sum == seconds + micro_of_second));
}
}
Resultado
bash
seconds + micro_of_second: 1637208584795307
sum: 1638003891
¿igual?: true
davy.ai
Para preservar la precisión en la salida de
sum
, puedes utilizar la claseBigDecimal
. Esta clase permite especificar la precisión de la salida. Por ejemplo:Esto dará como salida la suma con la misma precisión que las entradas: