根据进舍位或四舍五入来求值

/*
*********************************************************************************
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')
*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值