试图格式化数字(十进制),但它#Error
在生产服务器上显示:
=FormatNumber(First(Fields!SumWithMailDelivery.Value, "document"), 0)
但在开发人员服务器上它工作正常。也许有人知道,我该如何解决这个问题?
ps 没有格式化它也可以在生产服务器上正常工作。
试图格式化数字(十进制),但它#Error
在生产服务器上显示:
=FormatNumber(First(Fields!SumWithMailDelivery.Value, "document"), 0)
但在开发人员服务器上它工作正常。也许有人知道,我该如何解决这个问题?
ps 没有格式化它也可以在生产服务器上正常工作。
正如@IanPreston 所说,这很可能是类型转换错误。我想您的生产数据对该列或某些Null
列有一些无效字符导致数字转换失败。
您可以使用该Val
功能进行转换。Val
与其他数字转换函数的不同之处在于,当要转换的字符串不是数字时,它不会出错 - 它只是尽其所能。
因此,请为该Value
属性尝试这样的表达式:
=IIF(Fields!SumWithMailDelivery.Value Is Nothing,
Nothing,
IIF(IsNumeric(Fields!SumWithMailDelivery.Value),
Val(Fields!SumWithMailDelivery.Value),
Fields!SumWithMailDelivery.Value)
)
如果可能,然后N0
用作Format
属性将其格式化为数字。
这个公式将:
Nothing
字段Null