Formatting percentage?

R

Rob Meade

Hi all,

I have a recordset iterating through and dumping out to the screen a series
of percentages, using the precision 5 and numericscale 2 etc.

When I dump them to the page some of the number are missing a trailing
zero - ie,

4.7

What I would very much like to do is add this back on - is there an easy way
to format this with a huge load of If...Then's to produce the same affect?

Thanks in advance for any help,

Regards

Rob
 
R

Rob Meade

Ok - this gets a bit more odd now....

Currently I have a count which goes into this recordset.....each row gets a
number - a whole number (an integer)...

When I've updated all of these rows, lets say they look like this :

row1 5
row2 3
row3 3
row4 2
row5 1

I iterate through, and divide each one of these by the total of all of them,
so in the above :

row1 5/14 = 0.35714285714
row2 3/14 = 0.21428571428
row3 3/14 = 0.21428571428
row4 2/14 = 0.14285714285
row5 1/14 = 0.07142857142

now, at the moment after this division I also then multiply these by 100 -
to give me a percentage (this might be changed in a bit)...

row1 = 35.714285714
row2 = 21.428571428
row3 = 21.428571428
row4 = 14.285714285
row5 = 7.142857142

These get stored back into the recordset and pulled out in a sec, the
recordset has a adNumeric data type, with the 5 and 2 set for the precision
/ numericscale etc..so I'm assuming they end up something like this now :

row1 = 35.71
row2 = 21.43
row3 = 21.43
row4 = 14.29
row5 = 7.14

When *these* display to the page they'll all be fine, no 7.1 or anything
like that, but as these are not preset by me I cannot guarantee this, so I
wanted to find a way to make sure that after the decimal place there are
always 2 figures.

I stumbled across FormatPercent - its name suggested this might be what I
want.

I've had mixed results using it, from an error if I try this :

<%=FormatPercent(RS("Relevance"),2,0,0)%>

To getting the numbers multipled by a further 100 if I CONVERT the
RS("Relevance") value first, so far the only conversion that seems to give
me what I want is CCur (currency) - Int's are out, as are Doubles...

So, assuming now that I go with CCur - not that I was overly happy with this
solution, but I now need to drop my * 100 above, and thus I 'assume' I get
this :

row1 5/14 = 0.36
row2 3/14 = 0.21
row3 3/14 = 0.21
row4 2/14 = 0.14
row5 1/14 = 0.07

Now when they display they are always WHOLE percentages - ie 36%, 21% etc -
I never see a 21.72, or 1.01 ..

If anyone can give me some help with this I would be most grateful.

Best regards

Rob
 
R

Rob Meade

Ray at said:
Take a look at the formatNumber function. (I'm assuming you're using
VBScript.)

Hi Ray,

Many thanks for your reply and info, please ignore my other post which was
posted before I read your posted reply.

That has resolved the problem nicely :eek:)

Regards

Rob
 
R

Ray at

I never noticed the FormatPercent function. So thanks for making me notice
that! :]

Ray at work
 
R

Rob Meade

...
It sounds like you want to store the percentage value in the database with 2 decimal places.
And it sounds like you are concerned that if the value is something like
7.10, then it will be displayed on the page as 7.1.

Thats it in a nut shell :eek:)

Thanks for your reply Peter, all working now :eek:)

Regards

Rob
 
R

Rob Meade

Ray at said:
I never noticed the FormatPercent function. So thanks for making me notice
that! :]

hehe - its probably useful in some abstract instance somewhere :eek:)

Regards

Rob
 

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,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top