我有一列百分比,我希望它们总是四舍五入到最接近的.1
例如
.005 --> .1
.11 --> .2
.3256 -->.4
.6797 -->.7
我正在尝试天花板和地板,但是它们给了我所有的数字
我已经尝试过了,但是仍然可以正常使用
回合(n * 10,0)/ 10为[最近0.10]
答案 0 :(得分:0)
您始终可以使用ceiling()
和算术:
select ceiling(percentage * 10) / 10.0
答案 1 :(得分:0)
round()函数可能是最简单的选项。
select round(1.02345443,2) from dual
其中第一个参数是输入数字,第二个数字是小数点后的数字。
请参考this官方文档以获取更多参考。
答案 2 :(得分:0)
具有模块化算法的另一个选项:
DECLARE @a DECIMAL(5,5) = 0.000005 --insert your number here
PRINT ROUND(@a, 1) + CASE WHEN @a % 0.1 < 0.05 AND @a % 0.1 > 0 THEN 0.1 ELSE 0 END
此测试检查除以0.1时的余数是否在0到0.05之间(表示四舍五入),如果是,则将0.1加到四舍五入后的值。