"Rob Meade" <ro********@NO-SPAM.kingswoodweb.net> wrote in message
news:AP*********************@news-text.cableinet.net...
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 ..
Rob,
I'm not exactly sure what you are trying to accomplish. 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. So, to get around that
problem, use the FormatNumber function when you want to display the result,
and append the percentage symbol to the end:
<%=FormatNumber(RS("Relevance"),2,0,0) & "%" %>
In this case, if RS("Relevance") has a value of 7.1, it should be displayed
as 7.10, and then the % will be printed at the end.
Hope this helps.
Peter Foti