我最近将 SQL Server 数据库列值的数据类型从十进制(15,3)更新为十进制(18,3)。以前,此列最多支持 999999999999.99 的金额字段。现在我需要支持高达 999999999999999.99 的值。
我有一个现有的水晶报告,它可以显示高达旧限制的值,即999999999999.99,但现在,数据库中的较大值999999999999999.99在报告预览中四舍五入为1000000000000000.00。
我尝试使用公式格式如下将数字字段显示为文本:
ToText({MyNumberField})
显然该值在转换为文本之前已被四舍五入。 我尝试在公式字段以及字段-->格式字段-->通用-->显示字符串-->(x-2)中使用此代码。 此外,我尝试使用格式编辑器的数字部分下的自定义样式来编辑“舍入”值,但没有选项将舍入设置为零或无。
使用“设置数据源位置”下的“添加命令”对我来说不是一个选择。 我正在使用 SQL Server 的 ODBC 数据源。
有什么办法可以防止这种四舍五入吗?
我希望 SAP Crystal Report 中的数字字段显示数据库中的准确值 999999999999999.99,而不是四舍五入到 1000000000000000.00。
确保在 Crystal 中打开报告并执行:数据库、验证数据库... 这应该将 rpt 与数据源列属性重新同步。