Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Last active July 9, 2019 14:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/b09979348f01f0c73116cdbd6f4a633a to your computer and use it in GitHub Desktop.
Save parzibyte/b09979348f01f0c73116cdbd6f4a633a to your computer and use it in GitHub Desktop.
import java.math.BigDecimal;
import java.math.RoundingMode;
class Main {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal(50);
BigDecimal bd2 = new BigDecimal(50);
BigDecimal bd3 = bd1.add(bd1).add(bd2);
System.out.println(bd3.toString()); // 150
System.out.println(bd1.equals(bd2)); // true
BigDecimal total = new BigDecimal(0);
// Lo mismo que total += bd1
total = total.add(bd1);
// Lo mismo que total += 10
total = total.add(new BigDecimal(10));
// Lo mismo que total += 50
total = total.add(new BigDecimal(50));
System.out.println(total.toString()); // 110
BigDecimal resta = total.subtract(new BigDecimal(10));
System.out.println(resta.toString()); // 100
BigDecimal multiplicacion = total.multiply(new BigDecimal(5));
System.out.println(multiplicacion.toString()); // 550
BigDecimal division = multiplicacion.divide(new BigDecimal(10));
System.out.println(division.toString()); // 55
// Multiplicación = 550, división = 55
if (multiplicacion.compareTo(division) < 0) {
System.out.println(multiplicacion + " es menor que " + division);
} else if (multiplicacion.compareTo(division) == 0) {
System.out.println(multiplicacion + " es igual que " + division);
} else if (multiplicacion.compareTo(division) > 0) {
System.out.println(multiplicacion + " es mayor que " + division);
}
BigDecimal numero = new BigDecimal("7.3333");
System.out.println("El número original: " + numero.toString());
// Establecer su escala y su forma de redondeo; al llamar
// a setScale se redondea
BigDecimal bdHalfUp = numero.setScale(3, RoundingMode.HALF_UP);
System.out.println("El número con RoundingMode.HALF_UP: " + bdHalfUp.toString());
BigDecimal bdCeiling = numero.setScale(3, RoundingMode.CEILING);
System.out.println("El número con RoundingMode.CEILING: " + bdCeiling.toString());
BigDecimal bdUp = numero.setScale(3, RoundingMode.UP);
System.out.println("El número con RoundingMode.UP: " + bdUp.toString());
BigDecimal bdFloor = numero.setScale(3, RoundingMode.FLOOR);
System.out.println("El número con RoundingMode.FLOOR: " + bdFloor.toString());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment