1. Apabila BigDecimal ditambah, ditolak atau didarab, ketepatan tidak akan hilang Namun, apabila melakukan pembahagian, mungkin terdapat situasi di mana ia tidak boleh dibahagikan truncate mesti dinyatakan.
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 Anda boleh membahagikan BigDecimal dan mencari bakinya pada masa yang sama.
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 } }
Atas ialah kandungan terperinci Cara menggunakan BigDecimal untuk melaksanakan operasi matematik dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!