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

    com esi fa a convertire il punto con la virgola

    Salve, Ho un form dove inserisco il prezzo di un prodotto e la giacenza, e mi dovrebbe dare in automatico il totale prezzo * giacenza.

    Però per fare un calcolo esatto devo inserire nel prezzo il PUNTO come separatore dei decimali e nel totale mi esce l’importo esatto solo con il PUNTO!

    Come faccio a inserire la VIRGOLA nel campo prezzo e il risultato nel campo totale mi esca con la VIRGOLA?

    Saresti così gentile da aiutarmi?

    script calcolo
    codice:
    <script language="javascript"> 
    function calculate() 
    { 
    if(document.magazzino.RPrezzo.value !="" && document.magazzino.Giacenza.value!="") 
    { 
    document.magazzino.totalef.value=document.magazzino.RPrezzo.value*document.magazzino.Giacenza.value
    } 
    } 
    </script> 
    </head> 
    <body> 
    <form name="magazzino"> 
    <table> 
    <tr> 
    <td>Giacenza</td> 
    <td><input type="text" name="Giacenza" onchange="calculate();"></td> 
    </tr> 
    <tr> 
    <td>Prezzo Fornitore</td> 
    <td><input type="text" name="RPrezzo" onchange="calculate();"></td> 
    </tr> 
    <tr> 
    <td>Importo Totale</td> 
    <td><input type="text" name="totalef" readonly></td> 
    </tr> 
    </table>
    Grazie

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    devi sostituire prima la virgola con il punto per eseguire la moltiplicazione, poi fare l'opposto per mostrare il risultato
    per sostituire un carattere fai
    s.replace(/,/, ".")
    s.replace(/\./, ",")
    s contiene il numero scritto, ad esempio 1000,52

  3. #3
    grazie...siccome sono poco pratico di javascript, come devo inserire quello che mi hai scritto nel mio script?

    grazie

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    var f1 = document.magazzino.RPrezzo.value.replace(/,/, ".");
    var f2 = document.magazzino.Giacenza.value.replace(/,/, ".");
    var totale = new String(parseFloat(f1) * parseFloat(f2));
    totale = totale.replace(/\./, ",");
    document.magazzino.totalef.value = totale;
    dovrebbe funzionare

  5. #5
    grazie funziona!
    ma per lasciare sempre 2 cifre dopo la virgola anche se è 00 (zero zero) come devo fare?
    se faccio questa operazione 10*25,00 il risultato è 20 però vorrei che uscisse così 20,00!

    come posso fare?

    grazie

  6. #6
    come faccio a mettere i decimali doppo la virgola anche se sono 00?
    grazie

  7. #7
    salve ho modificato lo script così:

    codice:
    function calculate() 
    {
    var f1 = document.magazzino.RPrezzo.value.replace(/,/, ".");
    var f2 = document.magazzino.Giacenza.value.replace(/,/, ".");
    var totale = new String(parseFloat(f1) * parseFloat(f2));
    totale = totale.replace(/\./, ",");
    document.magazzino.totalef.value = totale;
    var totalef = Math.round(totale*100)/100;
    }
    ho messo var totalef = Math.round(totale*100)/100; per avere 2 cifre dopo la virgola....ma non funziona!
    mi spiego meglio:
    se io faccio la seguente operazione 2*25,02 = 50,04 mi escono perfettamente le 22 cifre dopo la virgola! ma se faccio una delle seguenti operazioni 2*25,00 = 50 e/o 2*25,0,5 = 50,1

    io vorrei che al posto di 50 mi visualizzasse 50,00 e al posto di 50,1 mi visualizzasse 50,10!

    come posso fare?

    grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.