source

Big Decimal이 0보다 큰지 비교합니다.

goodcode 2022. 8. 7. 16:49
반응형

Big Decimal이 0보다 큰지 비교합니다.

어떻게 비교할 수 있을까요?BigDecimal값이 0보다 큰가?

심플한 것은, 다음과 같습니다.

if (value.compareTo(BigDecimal.ZERO) > 0)

매뉴얼에서는 실제로는 -1, 0 또는1을 반환하는 것으로 규정되어 있습니다만, 보다 일반적인 것은Comparable<T>.compareTomethod는 적절한 세 가지 경우에 대해 0, 0 또는 0보다 작은 값만 보증하기 때문에 일반적으로 이 비교를 고수합니다.

보다 나은 방법:

if (value.signum() > 0)

signum이 BigDecimal 값이 음수, 0 또는 양수이므로 -1, 0 또는 1을 반환합니다.

사용하다compareTo()클래스에 내장된 기능입니다.

그 방법을 사용하는 것이 더 안전하다compareTo()

    BigDecimal a = new BigDecimal(10);
    BigDecimal b = BigDecimal.ZERO;

    System.out.println(" result ==> " + a.compareTo(b));

콘솔 인쇄

    result ==> 1

compareTo()돌아온다

  • a가 b보다 큰 경우 1
  • a가 b보다 작은 경우 -1
  • a가 b인 경우 0

이제 당신의 문제를 위해 사용할 수 있습니다.

if (value.compareTo(BigDecimal.ZERO) > 0)

또는

if (value.compareTo(new BigDecimal(0)) > 0)

도움이 되셨길 바랍니다.

BigDecimal 객체에 ".intValue()"를 사용하는 것은 0보다 큰지 여부를 확인하는 경우 올바르지 않습니다.남은 옵션은 ".compareTo()" 메서드뿐입니다.

이것은 Kotlin에서 동작합니다.

value > Big Decimal 입니다.

 BigDecimal obj = new BigDecimal("100");
 if(obj.intValue()>0)
    System.out.println("yes");

언급URL : https://stackoverflow.com/questions/4164521/compare-if-bigdecimal-is-greater-than-zero

반응형