Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Aiuto per calcolo percentuale

    Devo effettuare una funzione di calcolo percentuale. Ho realizzato questo codice ma non funziona, dove sbaglio???
    codice:
    <script>
    function ricarico(prezzo_acquisto, ricarico) {
    var pa =prezzo_acquisto;
    var ri = ricarico;
    var tot = ((pa/100)+ri);
    document.form1.c11.value = tot;
    }
    </script>
    Purtroppo non conosco tanto bene il JS quindi perdonatemi se ho scritto dell c@##ate assurde.
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai dimenticato la terza media?

    var tot = pa * ri / 100 + pa;

    Non so come chiami quello script, ma se i parametri passati sono campi di form, devi scrivere:

    var pa = parseFloat(prezzo_acquisto.value);
    var ri = parseFloat(ricarico.value);

    Alla fine devi probabilmente arrotondare (immagino che i valori siano in Euro):

    document.form1.c11.value = Math.round(tot*100) / 100;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Ho modificato come hai detto tu, però nell'edit mi viene scritto NaN (Not A Number) e non capisco dove sbaglio:
    codice:
    function ricarico(prezzo_acquisto, ricarico) {
    var pa = parseFloat(prezzo_acquisto.value);
    var ri = parseFloat(ricarico.value); 
    var tot = parseFloat((pa / 100)*ri) + pa;
    document.form1.c11.value = Math.round(tot*100) / 100;
    }
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  4. #4
    Ora funziona però mi mette il punto anziché la virgola e il database crede che sia 9600 anziché 9,6 €, come posso ovviare??
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il JS riconosce e scrive solo il punto.
    Si puo` cambiare il punto in vigola e viceversa nella stringa:

    function ricarico(prezzo_acquisto, ricarico) {
    var pa = parseFloat(prezzo_acquisto.value.replace(/\,/,"."));
    var ri = parseFloat(ricarico.value.replace(/\,/,"."));
    var tot = pa * ri / 100 + pa;
    tot = Math.round(tot*100) / 100;
    document.form1.c11.value = String(tot).replace(/\./, ",");
    }

    Attenzione all'ordine: prima le moltiplicazioni, poi le divisioni, altrimenti perdi in precisione (non in algebra, solo in informatica)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.