Crystal reports Crystal Reports 2016公式语法

Crystal reports Crystal Reports 2016公式语法,crystal-reports,Crystal Reports,我不熟悉水晶报告。 我有一个数据库,其中内存列以KB为单位报告。 我为我的IT主管创建了一个报告,他希望该字段以GB为单位报告内存。 我尝试了这个公式(基于我购买的《2016年水晶报告入门指南》一书) 我得到的错误是 此处需要数字或货币金额 它在我的ELSE语句之后突出显示{tblDts.Memory} 数据库中的那个字段只有数值(顺便说一句-0.4256是10240的十进制格式,我尝试了一个结果相同的除法语句,所以我想我尝试了一个乘法语句) 我做错了什么?在条件语句中,IF和ELSE都应返回相

我不熟悉水晶报告。 我有一个数据库,其中内存列以KB为单位报告。 我为我的IT主管创建了一个报告,他希望该字段以GB为单位报告内存。 我尝试了这个公式(基于我购买的《2016年水晶报告入门指南》一书)

我得到的错误是

此处需要数字或货币金额

它在我的
ELSE
语句之后突出显示
{tblDts.Memory}

数据库中的那个字段只有数值(顺便说一句-0.4256是10240的十进制格式,我尝试了一个结果相同的除法语句,所以我想我尝试了一个乘法语句)


我做错了什么?

在条件语句中,
IF
ELSE
都应返回相同的数据类型,否则将报告此类错误

如果您返回字符串,则返回数字,否则返回错误

如果是IF,建议返回
0
,而您的计算是在ELSE中

IF {tblDts.Memory} = "" 
THEN 0
ELSE {tblDts.Memory}*0.4256
编辑--------------------------------------------------

if IsNumber({tblDts.Memory})
then 
(
ToNumber({tblDts.Memory})*0.4256
)
else
0

我尝试了这个公式,但仍然得到了相同的错误“此处需要一个数字或货币金额”,其中突出显示了{tblDts.Memory}……。可能Crystal Reports对我很生气……lolCan你可以发布更改后的公式吗?Siva,我复制并粘贴了你在上面评论中发布的公式。我希望我有能力附上一个屏幕截图,显示我所看到的内容和弹出的错误。我已经尝试将IF-THEN语句完全取出,只是为了看看我是否能够让计算正常工作,并且仍然得到需要“数字”的相同错误,或者此处需要货币金额“……错误可能是我没有在此字段上使用十进制输出吗?@Szmooz
{tblDts.Memory}
的数据类型是什么?如果是字符串,则更改它。检查我编辑的答案。。对于新公式,我可能会错误地创建公式?我在详细信息中选择数据字段,然后右键单击它,选择格式字段。然后,我选择Common选项卡并单击DisplayString右侧的x-2图标。这可能是我的问题吗?
if IsNumber({tblDts.Memory})
then 
(
ToNumber({tblDts.Memory})*0.4256
)
else
0