尝试格式化数字(十进制),但它在生产服务器上显示#Error
:
=FormatNumber(First(Fields!SumWithMailDelivery.Value, "document"), 0)
但在开发者服务器上它运行正常。 也许有人知道,我该如何解决这个问题?
P.S。没有格式化它也适用于生产服务器。
答案 0 :(得分:1)
正如@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