Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Cina76
    Registrato dal
    Aug 2002
    Messaggi
    203

    Confronto tra due numeri (javascript)

    Salve a tutti .
    Ho il bisogno di confrontare tra di loro due numero e se uno dei due è piu grande dell'altro farmi apparire un alert.Ora il mio problema è questo ; finke inserisco numeri inferiori a 100 tutto bene ma se per esempio voglio confrontare il numero 100 con es:il 48 l'alert mi da il messaggio che 100 è inferiore a 48.
    Posto il mio script javascript x mostrarvi come ho confrontato i due numeri, grazie a tutti .
    Ciao Andrea

    function confrontaavanzamento()
    {
    var irstnumber=document.percentualeavanzamento.oldnumb er.value
    var secondnumber=document.percentualeavanzamento.avanz amento.value
    if (secondnumber<firstnumber)
    {
    alert("Attenzione impossibile inserire una percentuale di avanzamento inferiore alla precedente")
    document.percentualeavanzamento.avanzamento.select ();
    document.percentualeavanzamento.avanzamento.focus( );
    return false;
    }
    return true;
    }

  2. #2
    Reale_Augello
    Guest

    Qui...

    ... leggo un errore:

    codice:
    var irstnumber=document.percentualeavanzamento.oldnumber.value 
    var secondnumber=document.percentualeavanzamento.avanzamento.value 
    if (secondnumber<firstnumber)
    Crei una variabile 'irstnumber' e poi, nell'if, compare 'firstnumber'.
    Solo un errore di trascrizione ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Con quel codice fai il confronto fra le stringhe. Chiaramente "100" e` minore di "90", perche` "1" e` minore di "9".

    Se vuoi fare il confronto tra numeri devi convertire le stringhe in numeri, con parseInt() o parseFloat():

    var firstnumber = parseInt(document.percentualeavanzamento.oldnumber .value);
    var secondnumber = parseInt(document.percentualeavanzamento.avanzamen to.value);
    if (secondnumber<firstnumber) { ...

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di Cina76
    Registrato dal
    Aug 2002
    Messaggi
    203
    grazie tante ,ora funge dovevo prima convertire le stringhe!!!
    Grazie ancora e scusate x l'errore di trascrizione.
    Ciao ANDREA

  5. #5
    Utente di HTML.it L'avatar di Cina76
    Registrato dal
    Aug 2002
    Messaggi
    203
    scusate ragazzi ma ancora sono riuscito a risolvere del tutto.
    nel senso che con i numeri interi è tutto ok sia con il parseint e sia con parsefloat.ma quando comincio a mettere i numeri con la virgola il controllo salta e mi fa inserire x es.47,8 ke è inferiore a 47,7.come posso risolvere.ke devo fare un replace delle virgole???
    Ciao Andrea

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il parseFlaot() converte il numero correttametne se contiene il punto. Se invece il numero contiene una virgola occorre prima convertirla in punto:

    var str = ... numero con virgola ...;
    str = str.replace(/\,/, ".")

    (dentro la parentresi: slash backslash virgola slash virgola spazio virgolette punto virgolette).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it L'avatar di Cina76
    Registrato dal
    Aug 2002
    Messaggi
    203
    Grazie tante sei stato veramente molto chiaro e sono cosi' riuscito a risolvere con i tuoi consigli.
    Ciao Andrea

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.