Velocity Reviews > Formatting percent and dealing with division by zero problems

# Formatting percent and dealing with division by zero problems

Bill
Guest
Posts: n/a

 08-29-2003
I have some values that I want to display as percent, such as the
retail price/wholesale price. In some instances, the wholesale price
is zero, so I get a division by zero error.

What can I do to avoid this?

Also, how can I get this to only show two decimals, instead of it
going .##### the way it does. I want it to look like .45%

Thanks a million,

Bill

Aaron Bertrand [MVP]
Guest
Posts: n/a

 08-29-2003
> I have some values that I want to display as percent, such as the
> retail price/wholesale price. In some instances, the wholesale price
> is zero, so I get a division by zero error.
>
> What can I do to avoid this?

if wholesaleprice > 0 then
response.write retailprice / wholesaleprice
else
response.write retailprice / retailprice
end if

> Also, how can I get this to only show two decimals, instead of it
> going .##### the way it does. I want it to look like .45%

Look at the formatnumber / formatpercent functions.

dlbjr
Guest
Posts: n/a

 08-29-2003
function Divide(strNom,strDenom,intDecimal)
Divide = 0
if IsNumeric(strNom) and IsNumeric(strDenom) then
if CDbl(strNom) > 0 and CDbl(strDenom) > 0 then
if IsNumeric(intDecimal) then
intDecimal = FormatNumber(CDbl(Abs(intDecimal)),0)
else
intDecimal = 2
end if
Divide = FormatNumber(CDbl(strNom) / CDbl(strDenom),intDecimal)
end if
end if
end function

'Example
Response.Write Divide(234,321,3)

-dlbjr

invariable unerring alien

Bill
Guest
Posts: n/a

 08-29-2003
Thank you for the function! For your own knowlede, in order to calculate
the percent markdown from a retail price, the correct way to do it is
(denominator - numerator)/denominator

so if we're selling a \$10 dollar item for \$9, and we want to show that
is a 10% discount, it would be
(10-9)/10
1/10 = 10%

Your equation simply showed the numerator over the denominator.

By the way, this isn't adding the percent sign, I have to concatenate it
manually. Any way for that formatting to happen with a function?

Thanks again,

Bill

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Aaron Bertrand - MVP
Guest
Posts: n/a

 08-29-2003
> By the way, this isn't adding the percent sign, I have to concatenate it
> manually. Any way for that formatting to happen with a function?

Have you looked at the formatpercent function?