Hibernate BigDecimal 0.000到0

Hibernate BigDecimal 0.000到0,hibernate,plsql,bigdecimal,Hibernate,Plsql,Bigdecimal,我正在用JUnit测试一个PLSQL过程,在Java/Hibernate中使用他的“equals”。 PLSQL中的一个结果是0,但Java结果是0.0000,我尝试使用名为stripTrailingZeros的函数,但没有成功。我认为实用术语是相同的,但一点也不确定 编辑我想删除没有数字意义的零,例如 2.3400>2.34 我可以使用striptrailingzero执行此操作,但当我将此函数应用于返回相同的内容时: 0.0000>0.0000您做的事情是正确的,但方法的实现是错误的。换句话

我正在用JUnit测试一个PLSQL过程,在Java/Hibernate中使用他的“equals”。 PLSQL中的一个结果是0,但Java结果是0.0000,我尝试使用名为
stripTrailingZeros
的函数,但没有成功。我认为实用术语是相同的,但一点也不确定

编辑我想删除没有数字意义的零,例如

2.3400>2.34

我可以使用
striptrailingzero
执行此操作,但当我将此函数应用于返回相同的内容时:


0.0000>0.0000

您做的事情是正确的,但方法的实现是错误的。换句话说,Java已经崩溃了。但这似乎还没有解决。链接中包含客户提交的解决方案。基本上,将新的BigDecimal(“0”)与正确工作的
进行显式的
比较。

hmmm将BigDecimal 0.0000转换为BigDecimal 0似乎很久以前就应该被捕获了。谢谢你的提醒。
BigDecimal bd1 = new BigDecimal("0.0000");
System.out.println(bd1); // -> 0.0000
BigDecimal bd2 = bd1.setScale(0);
System.out.println(bd2); // -> 0
System.out.println(bd1.equals(bd2)); // -> false
System.out.println(bd1.compareTo(bd2) == 0); // -> true