Forum Moderators: open
I use a VB script function for this. You can mix the two on your pages.
function DoNumber(str, nDigitsAfterDecimal, nLeadingDigit, nUseParensForNeg, nGroupDigits)
if not isnull(str) then
DoNumber = replace(cstr(FormatNumber(str, nDigitsAfterDecimal, nLeadingDigit, nUseParensForNeg, nGroupDigits)),".",",")
lft = left(donumber,len(donumber) - 3)
rt = right(donumber,2)
donumber = lft & "." & rt
else
donumber = 0.00
end if
End Function
I left the "lft" and "rt" routines in just in case your DB like to use European formatting for numbers. I'm using mySql and never did figure out how to use US numbers. So I adapted my functions instead.
function round(num){
num = num.toString();
var split = num.split(".");
var dec = split[1].substr(0,3);
var dec1 = dec.match(/\d{2,2}/);
var dec2 = dec.match(/(\d$)/);
var rounded = (dec1 + "." + dec2[0]);
return split[0] + "." + Math.round(rounded);
}
You can take a look at the script translated from Italian here [translate.google.com]
While not perfect, it does give some basic formatting capability:
js> sprintf("%3.4e", 3.345235423545);
3.3452
I found it floating on the net, so I believe it can be used freely. The authors email is within.
René-
[edited by: heini at 6:56 pm (utc) on Nov. 19, 2002]