declare @v nvarchar(50) = '21.89777777777777777777777777'
select convert(decimal(18,8),round(@v,3))
四舍五入后无法截断十进制值。例如,在上述问题中,它返回 21.8980000。
The resulting output must be like
21.898 when rounded by select convert(decimal(18,8),round(@v,3))
and 21.8988 when rounded by round(@v,4)
我创建了一个存储过程,从中获取舍入值。并且它必须在四舍五入后修剪前导零。它必须是动态的,而不是每次都改变精度