Arredondar valor decimal


CREATE FUNCTION Arredondar(@valor decimal(18,2))

RETURNS DECIMAL AS  

BEGIN 

    DECLARE 

        @retValor DECIMAL(18,2),

        @real DECIMAL(18,2),

        @dec DECIMAL(18,2),

        @tot DECIMAL(18,2)

    

        SET @retValor =0

        SET @real = Floor(@valor)

        SET @dec = Abs(@valor)

        SET @tot = @dec - @real

 

        IF (@tot = 0.5)

        BEGIN

            SET @retValor = @valor

        END

        ELSE

        BEGIN

            IF (@tot > 0.5)

            BEGIN

                SET @retValor = Floor(@valor) + 1

            END

        

            IF (@tot < 0.5)

            BEGIN

                SET @retValor = Floor(@valor)

            END

        END

        

        RETURN @retValor 

END

 

 

 

--    TESTANDO

--    SELECT dbo.Arredondar(7.58)

 

--    RESULTADO

--    8.00

Comentários

Postagens mais visitadas deste blog

Funcão SQL para abreviar nomes

Função em JavaScript para consulta de CEP com retorno em XML ou Json