Crystal reports Crystal Report未获得精确的十进制值,如DB 我使用水晶报表席,我创建了一个报告,它的数据源是一个存储过程。

Crystal reports Crystal Report未获得精确的十进制值,如DB 我使用水晶报表席,我创建了一个报告,它的数据源是一个存储过程。,crystal-reports,Crystal Reports,存储过程获取正确的值,但在crystal report中的字段不同。存储过程中的值为:43859.92。但在水晶报告中是:43859.90。 我在crystal report中设置了字段格式使用格式字段->小数:1.00,四舍五入:0.01。 我无法在存储过程中将值更改为字符串,因为我需要它进行进一步计算 我需要的正是数据库数据。有什么建议吗?我试过你的号码:43859.92,甚至试过在43859.9222的末尾加上22,在Crystal Reports中,我选择了与你相同的选项,小数点1.00

存储过程获取正确的值,但在crystal report中的字段不同。存储过程中的值为:43859.92。但在水晶报告中是:43859.90。 我在crystal report中设置了字段格式使用格式字段->小数:1.00,四舍五入:0.01。 我无法在存储过程中将值更改为字符串,因为我需要它进行进一步计算


我需要的正是数据库数据。有什么建议吗?

我试过你的号码:43859.92,甚至试过在43859.9222的末尾加上22,在Crystal Reports中,我选择了与你相同的选项,小数点1.00,四舍五入0.01,得到了很好的数字,所以43859.92。 当我将舍入设置为0.1时,我得到的错误数字与你得到的相同,因此是43859.90。
请再次检查,我认为您的舍入是错误的,它需要为0.01,您可能已将其设置为0.1。如果情况并非如此,并且舍入值确实设置为0.01,则尝试将其设置得更低,因此为0.001。

您可以在存储过程中将其转换为字符串,当涉及crystal report时,您可以再次使用ToNumber将其转换回数字。这样试试。@Siva,谢谢你的建议。但是,有很多报告,所以我只想更改一面水晶报告,因为问题出在crystal report中。好的,那么您可以从crystal report中选择查询并启动数据库并检查该列的格式吗?该列的格式是数字。据我所知,crystal reports的输入是一个四舍五入的数字值……在这种情况下,没有什么可以做的。。除非你得到水晶的数字