Java 我在Hibernate中使用BigDecimal类获取精确的数值时遇到了一个问题

Java 我在Hibernate中使用BigDecimal类获取精确的数值时遇到了一个问题,java,hibernate,Java,Hibernate,我有一个变量是BigDecimal abc,我在数据库中使用Hibernate存储了列名为(abcdecimal(30,20))的变量。因此,当我使用abc变量和value=00.0000000000保存数据时,它将完美地存储在数据库中,但当我使用Hibernate从数据库中获取数据时,它将以0E-10的形式存储在BigDecimal abc中,但我需要在数据库中精确存储值 是否有任何一个解决上述问题的方法 我已经试着在google和stackoverflow中搜索过了。如前所述,双重乘法可以得

我有一个变量是BigDecimal abc,我在数据库中使用Hibernate存储了列名为(abcdecimal(30,20))的变量。因此,当我使用abc变量和value=00.0000000000保存数据时,它将完美地存储在数据库中,但当我使用Hibernate从数据库中获取数据时,它将以0E-10的形式存储在BigDecimal abc中,但我需要在数据库中精确存储值

是否有任何一个解决上述问题的方法


我已经试着在google和stackoverflow中搜索过了。

如前所述,双重乘法可以得到意想不到的结果。您必须将其存储为字符串,当您检索它时,您进行了转换,它将保留正确的值。

但是0E-10=0,那么问题出在哪里?请告诉我们您在做什么。在从数据库写入/读取数据时,您如何转换值?0E-10是0,精度为10位小数,正如您在输入中提供的,在我看来,这实际上是一个比简单返回更精确的结果0@Antoniossss问题是我需要的是精确值0.00.0000000000而不是0E-10。0*1^-10有什么问题?这有什么出乎意料的?