Java: 检查 oracle 字段类型 NUMBER(6,4) 的值是否等于 0
Java: check if value of oracle field type NUMBER(6,4) is equal to 0
在 oracle 数据库中,我有一个 NUMBER(6,4) 类型的字段。
默认情况下,在数据库中它的值设置为 0(或者它应该是 0.0000?)。
在 java class 我需要检查这个值是否为 0。
目前我有这个:
double feePercent = clientCardMemberGroup.getFeePerc();
if (feePercent != 0) {
...
}
这不是正确的做法。我想知道如何使用 BigDecimal 检查数据库中的值是否为 0(或 0.0 或 0.00 或 0.000 或 0.0000)。谢谢!
BigDecimal bd2 = new BigDecimal("0.0000000000000000000");
if((bd2.compareTo(BigDecimal.ZERO))==0){
System.out.println("Inside");
}
参考:
Equals operator for zeros (BigDecimal / Double) in Java
如果您需要使用 BigDecimal,请使用 ResultSet.getBigDecimal 从数据库中检索数据。要比较值,您需要使用 BigDecimal.compareTo() 方法。
public int compareTo(BigDecimal val)
returns 如果 BigDecimal 小于 val,则为 -1;如果 BigDecimal 大于 val,则为 1;如果 BigDecimal 等于 val,则为 0。
要与零进行比较,您可以使用常量 BigDecimal.ZERO。所以在你的情况下
BigDecimal feePercent = clientCardMemberGroup.getFeePerc();
if (feePercent.compareTo(BigDecimal.ZERO) != 0) {
...
}
在 oracle 数据库中,我有一个 NUMBER(6,4) 类型的字段。 默认情况下,在数据库中它的值设置为 0(或者它应该是 0.0000?)。
在 java class 我需要检查这个值是否为 0。 目前我有这个:
double feePercent = clientCardMemberGroup.getFeePerc();
if (feePercent != 0) {
...
}
这不是正确的做法。我想知道如何使用 BigDecimal 检查数据库中的值是否为 0(或 0.0 或 0.00 或 0.000 或 0.0000)。谢谢!
BigDecimal bd2 = new BigDecimal("0.0000000000000000000");
if((bd2.compareTo(BigDecimal.ZERO))==0){
System.out.println("Inside");
}
参考: Equals operator for zeros (BigDecimal / Double) in Java
如果您需要使用 BigDecimal,请使用 ResultSet.getBigDecimal 从数据库中检索数据。要比较值,您需要使用 BigDecimal.compareTo() 方法。
public int compareTo(BigDecimal val)
returns 如果 BigDecimal 小于 val,则为 -1;如果 BigDecimal 大于 val,则为 1;如果 BigDecimal 等于 val,则为 0。
要与零进行比较,您可以使用常量 BigDecimal.ZERO。所以在你的情况下
BigDecimal feePercent = clientCardMemberGroup.getFeePerc();
if (feePercent.compareTo(BigDecimal.ZERO) != 0) {
...
}