回答
BigDecimal是不可变的,并且实例不能被修改。但是,你可以这样做:
public void myMethod(BigDecimal b) {
BigDecimal zero = BigDecimal.ZERO;
if (b.compareTo(zero) > 0)
b = zero;
// Do stuff with b here
}
更好地使用'BigDecimal.ZERO'。 – 2011-02-26 06:15:29
谢谢。改变。 :) – 2011-02-26 18:59:26
您无法更改该值。 BigDecimals
是不可变的。你需要创建一个新的。
最好使用'BigDecimal.ZERO'而不是创建一个新的。 – 2011-02-26 06:15:49
@Stephen,没错,但我在说“创建一个新的”,而不是在函数中重用它。 – jzd 2011-02-26 14:01:26
- 1. 将__COUNTER__宏重置为零
- 2. 将对象重置为零?
- 3. BigDecimal乘以零
- 4. 时间将重置为零 - 我该如何补偿?
- 5. Delphi:如何将所有类字段重置为零值?
- 6. 在张量流中,如何将张量的行重置为零?
- 7. 如何将UILabel高度设置为零
- 8. java - 如何将Float转换为BigDecimal?
- 9. 得分未重置为零
- 10. 类字段重置为零
- 11. 将BigDecimal转换为不带尾随零的字符串
- 12. BigDecimal()省略前导零
- 13. 将IBOutlet设置为零
- 14. 将BigDecimal转换为整数
- 15. 如何将自定义BigDecimal转换器设置为Wicket 1.5中的TextField <BigDecimal>?
- 16. 如何getScale BigDecimal?
- 17. 如何将秒数设置为零为NSDate
- 18. IOS - 如何按下按钮时将数字标签重置为零?
- 19. 如何在电影结束时将MPMoviePlayerController时间线重置为零
- 20. 如何快速将秒重置为零,同时定时器运行
- 21. iOS Swift AVAudioPlayer如何在完成播放时将currentTime重置为零
- 22. 重置DSum回零
- 23. 如何定义/重置所有对象项目为零
- 24. Cumsum整个表并重置为零
- 25. 比较BigDecimal是否大于零
- 26. 零不能被强迫的BigDecimal
- 27. 为什么Ajax将我的窗口滚动位置重置为零?
- 28. 如何将索引重置为0
- 29. 如何将XMLGregorianCalendar重置为新值
- 30. 如何将NSLevelIndicatorCell重置为0?
你会通过阅读[为BigDecimal的文档]了解这个问题的答案很快(http://download.oracle.com/javase/6/docs/api/ java/math/BigDecimal.html)(*第一个单词*是“不可变的”)。关于Java的最好的事情之一是它的巨大和[彻底记录](http://download.oracle.com/javase/6/docs/api/)标准库。 – rlibby 2011-02-26 05:08:53