去除 SSRS 表达式中的小数点而不进行舍入
Strip decimals in SSRS expression without rounding
在我的报告中,我试图在不四舍五入的情况下删除小数。我将使用它来设置面积图垂直轴上的最小值。
所以我尝试了 =Format(98.56, "N0")
,但是这个 returns 99,这是不正确的。应该 return 98.
我一直在专门搜索 SSRS,但大多数结果都是针对 tsql 的。
我的问题:如何在不四舍五入的情况下删除 SSRS 中的小数?
谢谢
尝试使用 "Floor"。它有效地向下舍入到最接近的整数。您会在数学函数下找到它。
=Floor(Fields!Number.Value)
请注意,Transact-SQL 中还有一个 Floor 函数,如果您需要在 SQL 脚本中进行某些处理,它的工作方式相同。
根据评论中的要求更新
如果你想在小数点后得到相同的结果,你只需要一点代数。
=Floor((Fields!Number.Value*10))/10
那应该把 99.46 变成 99.4。鉴于它削减了其余部分,您可以添加任何您想要的额外零。
我最终转换为 Int。 SSRS中的以下表达式 returns 98:
=Int(98.56)
我知道这个问题很老了,但由于我在这里遇到了同样的问题,所以我想分享我的答案:
虽然 FLOOR 和 CEILING 如果您采取额外措施来处理数字 <0 或知道它们总是 >=0 就可以了,但简单地去除小数点的最简单方法是使用
=Fix(Fields!Number.Value)
仅修复 returns 数字的整数部分,不进行任何舍入或转换。对于负数 Int 向上舍入。
在我的报告中,我试图在不四舍五入的情况下删除小数。我将使用它来设置面积图垂直轴上的最小值。
所以我尝试了 =Format(98.56, "N0")
,但是这个 returns 99,这是不正确的。应该 return 98.
我一直在专门搜索 SSRS,但大多数结果都是针对 tsql 的。
我的问题:如何在不四舍五入的情况下删除 SSRS 中的小数?
谢谢
尝试使用 "Floor"。它有效地向下舍入到最接近的整数。您会在数学函数下找到它。
=Floor(Fields!Number.Value)
请注意,Transact-SQL 中还有一个 Floor 函数,如果您需要在 SQL 脚本中进行某些处理,它的工作方式相同。
根据评论中的要求更新 如果你想在小数点后得到相同的结果,你只需要一点代数。
=Floor((Fields!Number.Value*10))/10
那应该把 99.46 变成 99.4。鉴于它削减了其余部分,您可以添加任何您想要的额外零。
我最终转换为 Int。 SSRS中的以下表达式 returns 98:
=Int(98.56)
我知道这个问题很老了,但由于我在这里遇到了同样的问题,所以我想分享我的答案:
虽然 FLOOR 和 CEILING 如果您采取额外措施来处理数字 <0 或知道它们总是 >=0 就可以了,但简单地去除小数点的最简单方法是使用
=Fix(Fields!Number.Value)
仅修复 returns 数字的整数部分,不进行任何舍入或转换。对于负数 Int 向上舍入。