Home >Java >javaTutorial >How to compare BigDecimal values in java
1. Using the equals() method not only requires the values of the two BigDecimals to be equal, but also requires their scale() to be equal.
BigDecimal d1 = new BigDecimal("123.45"); BigDecimal d2 = new BigDecimal("123.45000"); System.out.println(d1.equals(d2)); // false,因为scale不同 System.out.println(d1.equals(d2.stripTrailingZeros())); // true,因为d2去除尾部0后scale变为2,与d1相同
2. Use the compareTo() method to compare the size of two numbers. It returns -1, 1 and 0 respectively according to the size of the two values, indicating less than, greater than and equal to respectively.
import java.math.BigDecimal; public class Demo { public static void main(String[] args) { BigDecimal d1 = new BigDecimal("123.45"); BigDecimal d2 = new BigDecimal("123.45000"); BigDecimal d3 = new BigDecimal("123.40"); System.out.println(d1.compareTo(d2)); // 0 System.out.println(d1.compareTo(d3));// 1 System.out.println(d3.compareTo(d2));// -1 } }
The above is the detailed content of How to compare BigDecimal values in java. For more information, please follow other related articles on the PHP Chinese website!