如何将浮点数舍入到第100位,同时在SQL Server中舍入到最接近的0.05的倍数。
示例4.93
将舍入到4.95
答案 0 :(得分:9)
将它乘以20,然后将其四舍五入为下一个整数,然后除以20.
答案 1 :(得分:7)
您可以使用此公式,其中@round_to
是您想要舍入的倍数的数字。 @round_updown
选择向上或向下舍入:将其设置为0
向下舍入,@round_to - 0.000001
向上舍入,或向@round_to / 2
使用中间舍入。
select @round_to*cast((@value+@round_updown)/@round_to as int)
例如:
select 0.05*cast((4.93+0.025)/0.05 as int)