Newsgroup: it.comp.lang.javascript
Titolo: Calcolo errato dopo i 1000

Salve a tutto il NG e grazie anticipatamente a chi vorrà darmi una mano.
Il mio problema è che ho una funzione che mi aggiunge una spesa di
spedizione in funzione dell'importo di un subtotale.
La formula è:
totale = subtotale + spese di spedizione
Tutto funge correttamente finchè il totale non va oltre i 1000 euro,
dopodichè sembra non calcoli + bene, anzi sembra sposti le virgole a
sinistra di 2 cifre.
Posto il codice di sotto; magari è una scioccheza di cui ora non mi avvedo.
function CalcolaTotale()
{
    //
    // Recupera il valore numerico del Sub-Totale
    x = document.forms['frmUpdate'].SubTotale.value;
    x = x.replace(",",".");
    x = parseFloat(x)
    //
    // Pagamento Anticipato
    if (document.forms['frmUpdate'].optPagamento[0].checked)
       {
       if (x >= 0 && x <= 130)
          {
             document.forms['frmUpdate'].Totale.value = x + 9;
          }
       else if (x > 130)
          {
             document.forms['frmUpdate'].Totale.value = x + 17;
          }
       }
    //
    // Pagamento Contrassegno
    else if (document.forms['frmUpdate'].optPagamento[1].checked)
       {
       if (x >= 0 && x <= 130)
          {
             document.forms['frmUpdate'].Totale.value = x + 14;
          }
       else if (x > 130)
          {
             document.forms['frmUpdate'].optPagamento[0].click();
             alert ("Da 130,01 euro in poi è ammesso solo Pagamento Anticipato!");
          }
       }
}
//-->
</script>
HELP ME, THANX
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Sto svalvolando...
Pensavo fosse una questione di punti e virgole e ho corretto il codice
precedente:
   x = x.replace(",",".");
con
   x = x.replace(",","`"); //virgola diventa apostrofo rovesciata
   x = x.replace(".",","); //punto diventa virgola
   x = x.replace("`","."); //apostrofo rovesciata diventa punto
ma niente da fare... ancora peggio. Omette tutte le cifre dopo il decimale.
E quindi?
HELP PLEASE...


 E quindi?
Quindi, forse, occorre che ci indichi qual è l'input...io pensavo fosse un
numero dove magari l'utente inseriva la virgola anziché il punto...leggendo
quello che hai fatto stai convertendo i punti in virgola e le virgole in
punti...
Se hai un numero tipo 1111,11 allora x.replace(/,/,".");
se hai un numero tipo 1.111,11 allora x.replace(/\./g,"").replace(/,/,".");
etc etc
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 Inviato via 
http://arianna.libero.it/usenet/
Non ho tempo di provare il codice ma ti consiglio di provare ad 
utilizzare un sistema di debug che ad ogni modifica del valore ti stampi 
a video il risultato. Sicuramente è molto più semplice debuggare.
Omega

Ora sono riuscito a fare la somma matematica, ma mi restituisce un numero
del tipo 3526.8 che vorrei formattare in 3.526,80.
Come faccio?
GRAZIE


 Come faccio?
Se cerchi "formatnumber javascript" con google trovi 14.100 soluzioni www e
una ventina in questo newsgroup: 
http://makeashorterlink.com/?F433529FB
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 se hai un numero tipo 1.111,11 allora
x.replace(/\./g,"").replace(/,/,".");
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/