T
tshad
I have a function that formats currency to add commas and $.
But I also check to see if the field is empty and if it is I return.
The problem is that the field now contains the word "undefined". I don't
want to have anything in this case.
Why is that word showing up and how do I tell it to do nothing?
function formatCurrency(num) {
if (num.Length == 0)return;
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}
I call it as:
onBlur="this.value= formatCurrency(this.value)"
Thanks,
Tom
But I also check to see if the field is empty and if it is I return.
The problem is that the field now contains the word "undefined". I don't
want to have anything in this case.
Why is that word showing up and how do I tell it to do nothing?
function formatCurrency(num) {
if (num.Length == 0)return;
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}
I call it as:
onBlur="this.value= formatCurrency(this.value)"
Thanks,
Tom