在oracle数据库中,我有一个NUMBER(6,4)类型的字段。 默认情况下,数据库中的值设置为0(或者应该是0.0000?)。
在java类中,我需要检查此值是否为0。 目前我有这个:
double feePercent = clientCardMemberGroup.getFeePerc();
if (feePercent != 0) {
...
}
这不是正确的方法。我想知道如何使用BigDecimal来检查数据库中的值是0(或0.0或0.00还是0.000或0.0000)。谢谢!
答案 0 :(得分:1)
BigDecimal bd2 = new BigDecimal("0.0000000000000000000");
if((bd2.compareTo(BigDecimal.ZERO))==0){
System.out.println("Inside");
}
答案 1 :(得分:1)
如果需要使用BigDecimal,请使用ResultSet.getBigDecimal从DB中检索数据。要比较值,您需要使用BigDecimal.compareTo()方法。
如果BigDecimal小于val,则public int compareTo(BigDecimal val)
返回-1;如果BigDecimal大于val,则返回1;如果BigDecimal等于val,则返回0。
要与零进行比较,您可以使用常量BigDecimal.ZERO。所以在你的情况下
BigDecimal feePercent = clientCardMemberGroup.getFeePerc();
if (feePercent.compareTo(BigDecimal.ZERO) != 0) {
...
}