(function(undefined) { /* local var and method */ /* object prototype */ /* public method and attribute */ /** * locale function conversion from db format to locale format */ $$.localize = {}; /** * localelize number */ $$.localize.number = function(num, precision) { precision = precision||2; var n = new Number(num); var locale = $$.lang+'-'+$$.lang.toUpperCase(); var dec = n.toFixed(precision); dec = dec.split('.'); dec = dec[1]; var nstr = n.toLocaleString(locale); // guess decimal separator when localized var ng = new Number('9.99'); ng = ng.toLocaleString(locale); decL = ng.replace(/9/g, ''); nstr = nstr.split(decL); if(nstr.length == 1) nstr = nstr[0]+decL+(Array(precision+1).join('0')); if(nstr.length == 2) nstr = nstr[0]+decL+dec; return nstr; } })();