Provo a scriverla qui di seguito, magari la aggiungerò alle "pillole javascript" quando mi pubblicheranno lo how-to che ho scritto...
EDIT: ho fatto qualche modifica rispetto alla versione precedente, puoi provare lo script su http://dementialsite.altervista.org/...mberformat.htm
Codice:
function number_format (number)
{
var argv = number_format.arguments
var argc = number_format.arguments.length
// acquisizione dei parametri
var decimals = (argc >= 1 ? argv[1] : 0)
var dec_point = (argc >= 3 ? argv[2] : '.')
var thousands_sep = (argc >= 3 ? argv[3] : ',')
// separa parte intera e decimale
var nr = '' + number
var point_pos = nr.indexOf ('.')
var int_nr = nr.substring (0, point_pos >= 0 ? point_pos : nr.length)
var dec_nr = nr.substring (point_pos >= 0 ? (point_pos + 1) : nr.length, nr.length)
// formatta la parte intera
var lt = int_nr.length
while (lt > 3)
{
var th = int_nr.substring (lt - 3, int_nr.length)
var rest = int_nr.substring (0, lt - 3)
int_nr = rest + thousands_sep + th
lt -= 3
}
// formatta la parte decimale (per troncamento)
dec_nr = dec_nr.substring (0, decimals)
// restituisce il numero formattato
return (int_nr + (decimals > 0 ? dec_point + dec_nr : ''))
}
Fatemi sapere se funziona... statemi bene...