Để convert BigDecimal to Long in java, bạn có thể sử dụng phương thức longValueExact() hoặc longValue() của đối tượng BigDecimal.
Nếu giá trị của đối tượng BigDecimal lớn hơn giá trị tối đa của kiểu Long, phương thức longValueExact() sẽ ném ra một ngoại lệ ArithmeticException. Trong khi đó, phương thức longValue() sẽ trả về giá trị của đối tượng BigDecimal đã được cắt bớt phần thập phân.
Convert Long To BigDecimal In Java
BigDecimal bigDecimalValue = new BigDecimal("12345678901234567890");
try {
Long longValue = bigDecimalValue.longValueExact();
System.out.println("Exact value: " + longValue);
} catch (ArithmeticException e) {
System.out.println("Value is out of range of long type");
}
Long longValueRounded = bigDecimalValue.longValue();
System.out.println("Rounded value: " + longValueRounded);
Trong ví dụ này, giá trị của đối tượng BigDecimal vượt quá giá trị tối đa của kiểu Long, do đó phương thức longValueExact() sẽ ném ra một ngoại lệ. Phương thức longValue() sẽ trả về giá trị được cắt bớt phần thập phân của đối tượng BigDecimal, và hiển thị giá trị là 12345678901234567890.
Cảm ơn các bạn đã ghé thăm Sharecs.net. Chúc các bạn thành công!