Roudning Issue
Hi,
In my user defined function I am using code like this to get a number with 2 decimal places:
if @reportCurrency=1
begin
set @calculatedRate = @fltAdRate + ISNULL(@fltPosRate,0)
end
if @reportCurrency=2
begin
set @calculatedRate = (@fltAdRate + ISNULL(@fltPosRate,0))- (@fltAdRate + ISNULL(@fltPosRate,0)) * IsNull(@agencyDiscount,15) / 100
end
if @reportCurrency=3
begin
set @calculatedRate = (@fltAdRate + ISNULL(@fltPosRate,0))-(@fltAdRate + ISNULL(@fltPosRate,0)) * (IsNull(@agencyDiscount,15) / 100)
set @calculatedRate = (@calculatedRate)- (@calculatedRate) * (IsNull(@cashDiscount,0) /100)
end
Then I cast the @calculatedRate
Set @returnVal = ISNULL(CAST(@calculatedRate AS DECIMAL(15,2)), -1)
if @returnVal = -1.00
SET @returnVal = CAST (@returnVal AS DECIMAL(15,0))
RETURN @returnVal
The problem is that it rounds the number. Example:
Gross amount $2415 net down 15% = $2052.75 Not $2053.00
AS you see the .75 cents is rounded to 2053.00. I would like to keep the .75 cents like $2052.75
I would appreciate your help.
Cheers
|