如何在hibernate中将双精度转换为字符串
我有如下hql查询:如何在hibernate中将双精度转换为字符串,hibernate,orm,Hibernate,Orm,我有如下hql查询: 选择sellingPrice,从库存中转换(sellingPrice作为字符串) 但在施法后,它会产生以下意想不到的结果: 6.31 6.3099999996 6.37 6.3700000000000001 6.38 6.379999999 6.38 6.379999999 为什么此查询将6.31转换为6.3099999996 请告知 如果必须为第二个参数返回一个字符串,则在强制转换之前对该值进行四舍五入,如下所示: select sellingPrice,
选择sellingPrice,从库存中转换(sellingPrice作为字符串)
但在施法后,它会产生以下意想不到的结果:
6.31 6.3099999996
6.37 6.3700000000000001
6.38 6.379999999
6.38 6.379999999
为什么此查询将6.31
转换为6.3099999996
请告知 如果必须为第二个参数返回一个字符串,则在强制转换之前对该值进行四舍五入,如下所示:
select sellingPrice,
cast(((abs(sellingPrice) * 100 + 0.5)/100.0 * sign(sellingPrice)) as string)
from Inventoryfloor
请阅读本文以获得基本解释->如果必须为第二个参数返回一个字符串,请在强制转换之前对该值进行四舍五入,如下所示:
select sellingPrice,
cast(((abs(sellingPrice) * 100 + 0.5)/100.0 * sign(sellingPrice)) as string)
from Inventoryfloor
阅读此文章了解基本解释->您可以使用BigDecimal而不是Double您可以使用BigDecimal而不是Double在CAST关键字后添加一个括号后,它对我的CAST有效(((abs(sellingPrice)*100+0.5)/100.0*符号(sellingPrice))作为字符串)在CAST关键字后面添加一个括号后,它对我的CAST有效((abs(sellingPrice)*100+0.5)/100.0*符号(sellingPrice))作为字符串)