如果BigDecimal值大于零,我如何比较?
其实很简单:
if (value.compareTo(BigDecimal.ZERO) > 0)
compareTo的文档实际上指定它将返回-1、0或1,但更通用的Comparable<T>.compareTo方法仅保证在适当的三种情况下小于零、零或大于零——因此我通常只坚持这种比较。
BigDecimal obj = new BigDecimal("100");
if(obj.intValue()>0)
System.out.println("yes");
当你想检查BigDecimal对象是否大于0时,在BigDecimal对象上使用". intvalue()"是不正确的。剩下的唯一选项是". compareto()"方法。
使用compareTo()方法更安全
BigDecimal a = new BigDecimal(10);
BigDecimal b = BigDecimal.ZERO;
System.out.println(" result ==> " + a.compareTo(b));
控制台打印
result ==> 1
compareTo()返回
如果a大于b,则为1 如果a小于b,则为-1 如果a = b是0
现在你可以用
if (value.compareTo(BigDecimal.ZERO) > 0)
or
if (value.compareTo(new BigDecimal(0)) > 0)
我希望这对你有所帮助。
推荐文章
- Java中的@UniqueConstraint注释
- 如何在清洁模式下运行eclipse ?如果我们这样做会发生什么?
- 获取java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory异常
- Java中的正则表达式命名组
- c#和Java的主要区别是什么?
- 什么是NullPointerException,我如何修复它?
- 在Java中使用“final”修饰符
- 无法在Flutter上找到捆绑的Java版本
- 如何在Kotlin解析JSON ?
- 如何在新的材质主题中改变背面箭头的颜色?
- 如何设置OkHttp连接超时
- 用于桌面应用程序的Swing vs JavaFx
- 为什么这个Java程序会终止,尽管它显然不应该(也没有)终止?
- 使用split("|")按管道符号拆分Java字符串
- 当内存不足导致抛出OutOfMemoryError时会发生什么?