[java] BigDecimal이 0보다 큰 경우 비교

BigDecimal값이 0보다 큰 경우 어떻게 비교할 수 있습니까?



답변

다음과 같이 간단합니다.

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

에 대한 문서는compareTo 실제로 -1, 0 또는 1을 반환하도록 지정하지만보다 일반적인 Comparable<T>.compareTo방법은 적절한 세 가지 경우 0, 0 또는 0보다 큰 값만 보장하므로 일반적으로 그 비교를 고수합니다.


답변

더 나은 방법 :

if (value.signum() > 0)


답변

compareTo()클래스에 내장 된 함수를 사용하십시오 .


답변

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

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

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

콘솔 프린트

    result ==> 1

compareTo() 보고

  • a가 b보다 큰 경우 1
  • b가 b보다 작은 경우 -1
  • a가 b와 같으면 0

이제 당신의 문제에 사용할 수 있습니다

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

또는

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

도움이 되었기를 바랍니다.


답변

BigDecimal 오브젝트에서 “.intValue ()”를 사용하는 것이 0보다 강하지 않은지 확인하려는 경우 올바르지 않습니다. 남은 유일한 옵션은 “.compareTo ()”메소드입니다.


답변

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


답변