如何防止rdlc报告中的舍入?

时间:2013-06-24 07:43:26

标签: report rdlc

在RDLC中,其中一列输出为2.099。我希望它为2.09。我已经在RDLC表达式中使用了Format和FormatNumber函数。但输出是2.10。但我需要2.09。如何??

我试过这些方法:

= FormatNumber(Sum((Fields(IsFonsiderGPA.Value)= True,(Fields!Credit.Value)*(Fields!GPA.Value)))/ Sum(Switch(Fields!IsConsiderGPA.Value = True, (字段!Credit.Value))),2)

=格式(Sum((字段!IsConsiderGPA.Value)= True,(Fields!Credit.Value)*(Fields!GPA.Value)))/ Sum(Switch(Fields!IsConsiderGPA.Value = True, (字段!Credit.Value))), “N”)

=格式(Sum((字段!IsConsiderGPA.Value)= True,(Fields!Credit.Value)*(Fields!GPA.Value)))/ Sum(Switch(Fields!IsConsiderGPA.Value = True, (字段!Credit.Value))), “d”)

并且还更改了文本框属性中的数字类型。但失败了......

2 个答案:

答案 0 :(得分:2)

在表达式中使用Math.Trucate,例如:

= Math.Truncate(Sum((Fields; IsConsiderGPA.Value)= True,(Fields!Credit.Value)*(Fields!GPA.Value)))/ Sum(Switch(Fields!IsConsiderGPA.Value =是的,(Fields!Credit.Value))))* 100)/ 100

然后,您可以在文本框属性中的“数字”垂直选项卡中格式化数字。

答案 1 :(得分:0)

在“代码属性”标签的“报表属性”下创建以下自定义函数:

    Public Function WithoutRound(vl As String)

        Dim temp As String

        temp = FormatNumber(vl, 4)

        temp = Left(temp, Len(temp) - 2)

        Return temp

    End Function

并在文本框中使用它

= Code.WithoutRound(Fields!RunningBalance.Value)