SSRS表达式中的小数位小数而不进行舍入

时间:2016-03-29 20:05:57

标签: reporting-services ssrs-2008 ssrs-2008-r2

在我的报告中,我试图删除小数而不进行舍入。我将使用它来设置面积图垂直轴的最小值。

所以我尝试=Format(98.56, "N0"),但这会返回 99 ,这是不正确的。它应该返回 98

我一直在专门搜索SSRS,但大多数结果都是针对tsql的。

我的问题:如何在不舍入的情况下删除SSRS中的小数?

由于

3 个答案:

答案 0 :(得分:3)

尝试使用“Floor”。它有效地向下舍入到最接近的整数。你可以在数学函数下找到它。

=Floor(Fields!Number.Value)

注意,Transact-SQL中还有一个Floor函数,它可以以相同的方式工作,以防您需要在SQL脚本中执行某些处理。

根据评论中的请求进行更新 如果你想在小数点后得到相同的结果,你只需要一点代数。

=Floor((Fields!Number.Value*10))/10

应该将99.46变成99.4。鉴于它削减了剩余部分,你可以使用你想要的任何额外的零。

答案 1 :(得分:0)

我最终转换为Int。 SSRS中的以下表达式返回 98

=Int(98.56)

答案 2 :(得分:0)

我知道这个问题已经很老了,但是当我在这里遇到同样的问题时,我想分享一下我的答案:

如果您采取额外的措施处理数字<0或知道数字总是> = 0的话,则FLOOR和CEILING很好,但是简单地去除小数点的最简单方法是使用

=Fix(Fields!Number.Value)

FIX仅返回数字的整数部分,而不进行任何舍入或转换。对于负数,Int会四舍五入。

来源:Examples for Fix, Floor and Ceiling

来源:Difference between Int and Fix