Java BigDecimal比較如何實(shí)現(xiàn)精確排序

小樊
150
2024-07-25 17:57:13

在Java中,可以使用BigDecimal的compareTo()方法來(lái)比較兩個(gè)BigDecimal對(duì)象的大小。該方法返回一個(gè)int值,表示兩個(gè)BigDecimal對(duì)象的大小關(guān)系。具體的比較規(guī)則如下:

  • 如果兩個(gè)BigDecimal對(duì)象相等,則返回0;
  • 如果第一個(gè)BigDecimal對(duì)象小于第二個(gè)BigDecimal對(duì)象,則返回負(fù)數(shù);
  • 如果第一個(gè)BigDecimal對(duì)象大于第二個(gè)BigDecimal對(duì)象,則返回正數(shù)。

使用該方法可以實(shí)現(xiàn)BigDecimal對(duì)象的精確排序。以下是一個(gè)示例代碼:

import java.math.BigDecimal;
import java.util.Arrays;

public class BigDecimalSort {

    public static void main(String[] args) {
        BigDecimal[] numbers = {new BigDecimal("10.5"), new BigDecimal("5.2"), new BigDecimal("7.8"), new BigDecimal("3.6")};

        Arrays.sort(numbers, (a, b) -> a.compareTo(b));

        for (BigDecimal number : numbers) {
            System.out.println(number);
        }
    }
}

在上面的代碼中,首先創(chuàng)建了一個(gè)包含四個(gè)BigDecimal對(duì)象的數(shù)組,然后使用Arrays.sort()方法和Lambda表達(dá)式對(duì)數(shù)組進(jìn)行排序。最后打印出排序后的結(jié)果。

0