Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Alla perdita del focus solo uno zero...

    ...dopo il punto decimale.

    codice:
    function FormatNumber(num,dec) { 
    dec= (dec)?dec:1; 
    ee = Math.pow(10,dec); 
    nn = Math.round(num*ee); 
    vv = String(nn/ee); 
    vv += (vv.indexOf(".")>=0)?"":"."; 
    while (vv.indexOf(".")>vv.length-dec-1) { vv += "0" } 
    return vv; 
    }
    Al momento, non capisco perchè me ne imposta due!!!
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    vuoi che un qualsiasi numero sia formattato con una sola cifra decimale?


    numero=1.23556754476587685475685785654325
    numero=Math.round(numero*10)/10

  3. #3
    Siccome uso da un pezzo quella funzione su una miriade di pagine, andare a stravolgerle tutte non è certo poca roba, pensavo che bastasse modificare la funzione postata sopra...
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non devi modificare la mia funzione... devi richiamarla col parametro dec impostato a 1.

    O puoi fare l'esempio delle condizioni nelle quali non funziona?

    ciao

    ps: vedo che hai modificato il default dei decimali ad 1... anche se non necessario (era pensata per l'uso con gli euro) a me continua a funzionare :master:
    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    scusate... ma nn basterebbe eliminare le ultime righette?

    prova così a vedere che dice


    <script>
    function FormatNumber(num,dec) {
    dec= (dec)?dec:1;
    ee = Math.pow(10,dec);
    nn = Math.round(num*ee);
    vv = String(nn/ee);
    return vv
    }
    </script>

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Dennis
    scusate... ma nn basterebbe eliminare le ultime righette?

    prova così a vedere che dice


    <script>
    function FormatNumber(num,dec) {
    dec= (dec)?dec:1;
    ee = Math.pow(10,dec);
    nn = Math.round(num*ee);
    vv = String(nn/ee);
    return vv
    }
    </script>
    se le elimini non aggiunge gli zeri finali...
    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

  7. #7
    Ho risolto ma non come suggerito da te, semplicemente passando alla funzione 1 decimale anzichè 2.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    effettivamente, è vero. Ora che testo di persona la funzione originale... funziona...

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da maximum
    Ho risolto ma non come suggerito da te, semplicemente passando alla funzione 1 decimale anzichè 2.
    Sono contento che abbia risolto

    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

  10. #10
    C'è solo un piccolo problemuccio.
    Visto che il punto l'utente lo può digitare (ad esempio per scrivere 4.5), cosa succede, che se io per errore scrivo "." sul campo come primo carattere, senza segnare alcun numero nè prima nè dopo, alla perdita del focus o anche al sumbit della form, nel campo viene scritto "NaN.0" ed inviato "NaN.0".

    A questo punto chiedo, è possibile fare in modo che se digito il punto come primo carattere, alla perdita del focus o anche al submit della form, non venga settato "NaN.0" sul campo???

    Altrimenti mi devo andare a testare questo valore lato server su 32 campi e non è che sia una cosetta da niente....

    Attendo notizie.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.