如果BigDecimal值大于零,我如何比较?
当前回答
当你想检查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)
我希望这对你有所帮助。
可能更好的方法:
if (value.signum() > 0)
当BigDecimal的值为负、零或正时,signum返回-1、0或1。
当你想检查BigDecimal对象是否大于0时,在BigDecimal对象上使用". intvalue()"是不正确的。剩下的唯一选项是". compareto()"方法。
这在Kotlin中是有效的:
value > BigDecimal。零
使用类内建的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:没有协议