Formatting percent and dealing with division by zero problems

B

Bill

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
 
A

Aaron Bertrand [MVP]

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.
 
D

dlbjr

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
 
B

Bill

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
 
A

Aaron Bertrand - MVP

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?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top