我有如下的hql查询:
select sellingPrice, cast(sellingPrice as string) from Inventory
但是在投射之后,它会给出意想不到的结果,如下所示:
6.31 6.3099999999999996
6.37 6.3700000000000001
6.38 6.3799999999999999
6.38 6.3799999999999999
为什么此查询会转发6.31
AS 6.30999999999996
。
请指教。
答案 0 :(得分:0)
如果你必须为第二个arguemnt返回一个字符串,那么在演员之前对该值进行舍入,如下所示:
select sellingPrice,
cast(((abs(sellingPrice) * 100 + 0.5)/100.0 * sign(sellingPrice)) as string)
from Inventoryfloor
阅读本文的基本说明 - > https://forum.hibernate.org/viewtopic.php?p=2474138