BigDecimal
如果值大于零,我该如何比较?
问问题
356877 次
7 回答
474
它很简单:
if (value.compareTo(BigDecimal.ZERO) > 0)
的文档compareTo
实际上指定它将返回 -1、0 或 1,但更通用的Comparable<T>.compareTo
方法仅保证在适当的三种情况下小于零、零或大于零 - 所以我通常只坚持这种比较。
于 2010-11-12T12:21:14.983 回答
199
于 2011-10-19T18:36:59.197 回答
11
使用compareTo()
类中内置的函数。
于 2010-11-12T12:21:15.393 回答
9
使用该方法更安全compareTo()
BigDecimal a = new BigDecimal(10);
BigDecimal b = BigDecimal.ZERO;
System.out.println(" result ==> " + a.compareTo(b));
控制台打印
result ==> 1
compareTo()
返回
- 1 如果 a 大于 b
- -1 如果 b 小于 b
- 0 如果 a 等于 b
现在对于您的问题,您可以使用
if (value.compareTo(BigDecimal.ZERO) > 0)
或者
if (value.compareTo(new BigDecimal(0)) > 0)
我希望它对你有所帮助。
于 2020-06-05T22:12:58.580 回答
0
当您想检查它是否大于零时,在 BigDecimal 对象上使用“.intValue()”是不正确的。剩下的唯一选择是“.compareTo()”方法。
于 2018-04-22T17:00:10.750 回答
-1
这适用于Kotlin:
值 > BigDecimal.ZERO
于 2020-11-04T03:28:19.693 回答
-4
BigDecimal obj = new BigDecimal("100");
if(obj.intValue()>0)
System.out.println("yes");
于 2018-02-16T11:53:42.373 回答