如果BigDecimal值大于零,我如何比较?
当前回答
BigDecimal obj = new BigDecimal("100");
if(obj.intValue()>0)
System.out.println("yes");
其他回答
其实很简单:
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");
使用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)
我希望这对你有所帮助。
使用类内建的compareTo()函数。
当你想检查BigDecimal对象是否大于0时,在BigDecimal对象上使用". intvalue()"是不正确的。剩下的唯一选项是". compareto()"方法。
推荐文章
- Java Regex捕获组
- Openssl不被视为内部或外部命令
- 如何添加自定义方法到Spring Data JPA
- 如何在Ubuntu中设置Java环境路径
- 无法执行dex:在Eclipse中超过GC开销限制
- 有人能解释一下JPA和Hibernate中的mappedBy吗?
- 是什么导致JNI调用变慢?
- Java中的&和&&有什么区别?
- 使用Java的Collections.singletonList()?
- Maven使用多个src目录编译
- 导入时无法解析符号
- 用谓词限制流
- 为特定的代码行禁用特定的Checkstyle规则?
- Java中生成UUID字符串的有效方法(UUID. randomuuid ().toString()不带破折号)
- malformedurlexception:没有协议