Comparez si BigDecimal est supérieur à zéro

Comment puis-je comparer si la valeur BigDecimal est supérieure à zéro?

181
demandé sur Manuel 2010-11-12 15:18:01

6 réponses

C'est aussi simple que:

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

La documentation pour compareTo spécifie en fait qu'il retournera -1, 0 ou 1, mais la méthode plus générale Comparable<T>.compareTo ne garantit que moins de zéro, zéro ou supérieur à zéro pour les trois cas appropriés-donc je m'en tiens généralement à cette comparaison.

317
répondu Jon Skeet 2010-11-12 12:21:14

Meilleure façon possible :

if (value.signum() > 0)
137
répondu Anton Bessonov 2011-10-19 18:36:59

Utilisez la fonction compareTo() intégrée à la classe.

10
répondu duffymo 2013-07-05 13:13:15

En utilisant ".intValue () " sur L'objet BigDecimal n'est pas correct lorsque vous voulez vérifier si sa râpe est supérieure à zéro. La seule option qui reste est ".compareTo()" méthode.

0
répondu Satya M 2018-04-22 17:00:10

Pourquoi il ne peut pas être aussi simple que

if(bigDecimalObject.intValue() > 0)
-1
répondu Jajikanth pydimarla 2018-02-06 20:29:21
 BigDecimal obj = new BigDecimal("100");
 if(obj.intValue()>0)
    System.out.println("yes");
-3
répondu Rama Krishna 2018-02-16 11:53:42