如果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)
我希望这对你有所帮助。
推荐文章
- 是什么导致JNI调用变慢?
- Java中的&和&&有什么区别?
- 使用Java的Collections.singletonList()?
- Maven使用多个src目录编译
- 导入时无法解析符号
- 用谓词限制流
- 为特定的代码行禁用特定的Checkstyle规则?
- Java中生成UUID字符串的有效方法(UUID. randomuuid ().toString()不带破折号)
- malformedurlexception:没有协议
- 为什么字符集名称不是常量?
- 如何比较Python中对象的类型?
- Maven依赖项失败,出现501错误
- lambda表达式每次执行时都在堆上创建一个对象吗?
- 使用流相加bigdecimal
- Java抽象接口