/*
*********************************************************************************
Program ID: FUN_GetValueByRoundMode
Purpose : 根据进舍位或四舍五入来求值
Author : Jesse
Date : 2011.02.14
*********************************************************************************
*/
Create function dbo.FUN_GetValueByRoundMode(@Value decimal(18,6), --需进行运算的值
@Bit int, --小数位数
@RoundMode char(1)) --求值方式:0-四舍五入、1-舍去、2-进行
Returns decimal(18,6)
As
begin
declare @Result decimal(18,6)
set @Value=isnull(@Value,0)
if @RoundMode='1' --舍去
Select @Result=Round(@Value,@Bit,1)
else if @RoundMode='2' --进位
Begin
if @Value>Round(@Value,@Bit,1) --确保在有尾数的情况下才进位
Select @Result=Round(@Value,@Bit,1)+1.0/Power(10,@Bit)
else
Select @Result=Round(@Value,@Bit,1)
end
else
Select @Result=Round(@Value,@Bit)
Return Isnull(@Result,0)
end
/*
select dbo.FUN_GetValueByRoundMode(9.82458,3,'0')
*/
根据进舍位或四舍五入来求值
最新推荐文章于 2021-07-24 12:17:23 发布