sumar suma round resta operaciones multiply dividir java bigdecimal

round - suma y resta bigdecimal java



¿Cómo puedo dividirme correctamente con BigDecimal? (2)

Mi código de muestra:

import java.math.*; public class x { public static void main(String[] args) { BigDecimal a = new BigDecimal("1"); BigDecimal b = new BigDecimal("3"); BigDecimal c = a.divide(b, BigDecimal.ROUND_HALF_UP); System.out.println(a+"/"+b+" = "+c); } }

El resultado es: 1/3 = 0

¿Qué estoy haciendo mal?


Cree BigDecimal s usando flotantes, como "1.0" ; al menos el numerador, si quieres un resultado decimal.


No has especificado una escala para el resultado. Por favor, intente esto

import java.math.*; public class x { public static void main(String[] args) { BigDecimal a = new BigDecimal("1"); BigDecimal b = new BigDecimal("3"); BigDecimal c = a.divide(b,2, BigDecimal.ROUND_HALF_UP); System.out.println(a+"/"+b+" = "+c); } }

esto dará el resultado como 0.33. Por favor lea la API

Rohan