Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802

    Funzione che non funziona

    Ciao raga,
    ho creato una funzione che moltiplica due numeri e che dovrebbe controllare i decimali del risultato; se non ha decimali vengono aggiunti due zeri e la virgola, se invece ha un numero decimale viene aggiunto uno zero.
    Il primo controllo me lo fa correttamente ma il secondo no; ho inserito il comando split in modo che mi divida la stringa in due array e che assegni al secondo array il numero decimale. Non so per quale motivo ma non mi divide la stringa e quando controllo la lunghezza del secondo array con la proprietà lenght mi da errore dicendo che non esiste.

    Di seguito riporto la funzione:

    function checkcalcolo() {
    var v1=nuovoDato.qtaNuovo.value;
    var v2=nuovoDato.prezzocadNuovo.value.replace(",",".") ;
    if (v1!="" && v2!="") nuovoDato.prezzototNuovo.value=v1*v2;
    var t = nuovoDato.prezzototNuovo.value;
    var punto
    if (t.lastIndexOf('.') == -1) nuovoDato.prezzototNuovo.value = nuovoDato.prezzototNuovo.value+",00";
    if (t.lastIndexOf('.') !== -1){
    punto = t.replace(".",",");
    punto = t.split(',');
    alert(punto[2].lenght);
    }
    }

    Qualcuno che mi sa dare una mano?

    Denghiu
    www.beppegrillo.it
    Il blog di Beppe!!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    se vuoi il secondo elemento dell'array il suo indice e' 1 (in js partono da 0 )

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Grazie ma il problema rimane:

    se inserisco questo codice
    alert(punto[0].lenght);
    mi viene restituito "undefined"

    se invece inserisco
    alert(punto[1].lenght);
    mi viene restituito errore dicendo che 1.lengh non è definito o non è un oggetto.

    Per quale strano motivo mi da sti problemi?

    Lo split funziona solo su stringhe o anche su numeri? Mi sembra solo su stringhe, sbaglio?

    Ho fatto anche una prova mantenendo la variabile con il . e quindi gestendola come numero e non come stringa (il codice sopra riportato si riferisce infatti alla stringa poichè il . l'ho sostituito con la ,) e come risultato mi da sempre "undefined".

    Non capisco perchè!
    www.beppegrillo.it
    Il blog di Beppe!!

  4. #4
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802

    nessuno che ci capisce qualcosa?
    www.beppegrillo.it
    Il blog di Beppe!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    .length
    (occhio alla sintassi)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802


    Ehm...'spetta va che vado a sdraiarmi su un'autostrada

    Grazie, ho fatto un errore idiota
    www.beppegrillo.it
    Il blog di Beppe!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.