Hola, tengo una variable temporal BigDecimal, quiero que sea reutilizable en una función. ¿Hay alguna manera de restablecer esta variable a cero si el valor es mayor que cero?Cómo restablecer BigDecimal a cero
THanks @!
Hola, tengo una variable temporal BigDecimal, quiero que sea reutilizable en una función. ¿Hay alguna manera de restablecer esta variable a cero si el valor es mayor que cero?Cómo restablecer BigDecimal a cero
THanks @!
BigDecimal es inmutable, y los casos no se puede modificar. Sin embargo, usted podría hacer algo como:
public void myMethod(BigDecimal b) {
BigDecimal zero = BigDecimal.ZERO;
if (b.compareTo(zero) > 0)
b = zero;
// Do stuff with b here
}
Es mejor usar 'BigDecimal.ZERO'. –
Gracias. Cambiado :) –
No puede cambiar el valor. BigDecimals
son inmutables. Necesitas crear uno nuevo.
Es mejor usar 'BigDecimal.ZERO' en lugar de crear uno nuevo. –
@Stephen, cierto, pero yo estaba diciendo "crear uno nuevo" en lugar de reutilizar uno en una función. – jzd
Se podría aprender la respuesta a esta con bastante rapidez mediante la lectura de [la documentación de BigDecimal] (http://download.oracle.com/javase/6/docs/api/ java/math/BigDecimal.html) (la * primera palabra * de la cual es "inmutable"). Una de las mejores cosas de Java es su enorme y [completamente documentada] (http://download.oracle.com/javase/6/docs/api/) bibliotecas estándar. – rlibby