1. Beim Addieren, Subtrahieren oder Multiplizieren geht die Genauigkeit nicht verloren. Bei der Division kann es jedoch vorkommen, dass die Genauigkeit und die Art der Kürzung angegeben werden müssen .
import java.math.BigDecimal; import java.math.RoundingMode; public class Demo { public static void main(String[] args) { BigDecimal d1 = new BigDecimal("123.456"); BigDecimal d2 = new BigDecimal("23.456789"); BigDecimal d3 = d1.divide(d2, 10, RoundingMode.HALF_UP); // 保留10位小数并四舍五入 BigDecimal d4 = d1.divide(d2); // 报错:ArithmeticException,因为除不尽 } }
2. Sie können BigDecimal dividieren und gleichzeitig den Rest ermitteln.
import java.math.BigDecimal; public class Demo { public static void main(String[] args) { BigDecimal n = new BigDecimal("22.444"); BigDecimal m = new BigDecimal("0.23"); BigDecimal[] dr = n.divideAndRemainder(m); System.out.println(dr[0]); // 97.0 System.out.println(dr[1]); // 0.134 } }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie BigDecimal, um mathematische Operationen in Java auszuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!