在我的报告中,我试图删除小数而不进行舍入。我将使用它来设置面积图垂直轴的最小值。
所以我尝试=Format(98.56, "N0")
,但这会返回 99 ,这是不正确的。它应该返回 98 。
我一直在专门搜索SSRS,但大多数结果都是针对tsql的。
我的问题:如何在不舍入的情况下删除SSRS中的小数?
由于
答案 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会四舍五入。