UFN_AUCTIONPACKAGE_CONVERTBYPROPORTION_UNROUNDED

Converts an amount from one currency to another without rounding using the total amounts in both currencies.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@AMOUNT money IN
@FULLAMOUNT money IN
@FULLAMOUNTTOCURRENCY money IN
@DECIMALDIGITSTOCURRENCY tinyint IN

Definition

Copy


            create function dbo.UFN_AUCTIONPACKAGE_CONVERTBYPROPORTION_UNROUNDED
            (
                @AMOUNT money,
                @FULLAMOUNT money,
                @FULLAMOUNTTOCURRENCY money,
                @DECIMALDIGITSTOCURRENCY tinyint
            )
            returns money
            as begin

                if @AMOUNT < 0 or @FULLAMOUNT < 0
                    return 0;

                if @AMOUNT >= @FULLAMOUNT
                    return @FULLAMOUNTTOCURRENCY;

                declare @AMOUNTCONVERTEDPERCENT decimal(38,19);
                declare @AMOUNTCONVERTEDFULLPRECISION decimal(38,19);

                set @AMOUNTCONVERTEDPERCENT = (convert(decimal(19,8),(@AMOUNT)) / convert(decimal(19,8),@FULLAMOUNT));
                set @AMOUNTCONVERTEDFULLPRECISION = (convert(decimal(22,19),@AMOUNTCONVERTEDPERCENT) * convert(decimal(19,8),@FULLAMOUNTTOCURRENCY));

                return @AMOUNTCONVERTEDFULLPRECISION;
            end