BigDecimal diferente (!=) de 0

Bom Dia.

Como que eu faço para comparar o valor de um bigdecimal é diferente de 0?

Há diversas formas, dentre elas:

!numero.equals(BigDecimal.ZERO);

Sim … Mas ainda não está funcionando.

Olha o que eu estou querendo fazer…

Tenho que exibir o menor numero, mas que não seja 0.

		if(valoracumulado_p.compareTo(menorvalor) < 0)
					{
						if(!valoracumulado_p.equals(BigDecimal.ZERO))
						{
							menorvalor = valoracumulado_p;
						}
						
					}
}
                               //Já feita as devidas conversões de variaveis para jogar para o JTextField
                                textField.setText(menorvalor);

esse é o código de comparação.
mas ele está mostrando 0 ainda.

Quando estamos trabalhando com BigDecimal não é legal comparar com equals(), porque ele leva em consideração não só o valor numérico como alguns outros atributos - a precisão associada àquela instância, por exemplo.

Para comparar só o valor numérico, use compareTo():

if(numero.compareTo(BigDecimal.ZERO) != 0)

[quote=gomesrod]Quando estamos trabalhando com BigDecimal não é legal comparar com equals(), porque ele leva em consideração não só o valor numérico como alguns outros atributos - a precisão associada àquela instância, por exemplo.

Para comparar só o valor numérico, use compareTo():

if(numero.compareTo(BigDecimal.ZERO) != 0)

Exactamente. BigDecimal é um exemplo de uma classe cujo equals não é compativel com compareTo e por isso deve ser usado compareTo.

um outra opção é usar signum();

if(numero.signum() != 0)

A função sinal só é zero se o valor é zero.