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

    problema divisione su calcolo

    Oggi mi è capitata una cosa che oserei definire impossibile...

    tempo fa ho costruito un programmino in JS che mi consentiva di fare automaticamente dei calcoli in base alle azioni dell' utente sulla pagina

    l'altro giorno ho inserito un nuovo valore e mi sono accorto che questo (e non solo questo) gli da dei problemi.

    In parole povere con un click il programma deve farmi una semplice operazione, calcolarmi uno sconto del 5% su un valore.

    Nell esempio pratico il programma deve fare questa operazione: 94,8 x 0.95 che conti alla mano fa 90,06 .... invece sulla pagina web il risultato è 90,0599999999......

    Il bello è che su alcuni valori mi da qusto valore sballato di un millesimo, mentre altri valori vengono calcolati correttamente.

    la funzione che mi fa il calcolo è questa:

    Codice PHP:
     function funzione_2(f) {
     
    f.funz2.value f.nuovocampo.value 0.95;
     
    document.paypal.amount.value f.funz2.value;


    sto impazzendo.....
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    prova questa funzione

    //------------------------------------------------
    //Arrotonda number a dec cifre
    //se dec non è specificato, arrotonda a 10 cifre
    //------------------------------------------------
    function fix(number, dec)
    {
    var n =(dec >=0)? Math.pow(10,dec) : 1e10;
    return Math.round(number * n) / n;
    }
    Pietro

  3. #3
    ho scritto cosi:

    Codice PHP:
     function funzione_2(f) {
     
    f.funz2.value f.nuovocampo.value 0.95;
     
    document.paypal.amount.value f.funz2.value;
    }

    function 
    fix(numberdec)
    {
    var 
    =(dec >=0)? Math.pow(10,dec) : 1e10;
    return 
    Math.round(number n) / n;

    pero' il problema rimane
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ma come l'hai usato

    vedi se così va bene:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
    <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function Button1_onclick() 
    {
        var x = 94.8 * 0.95;
        document.getElementById("div1").innerHTML = x;
        document.getElementById("div2").innerHTML = fix(x);
    }
    
    //------------------------------------------------
    //Arrotonda number a dec cifre
    //se dec non è specificato, arrotonda a 10 cifre
    //------------------------------------------------
    function fix(number, dec)
    { 
        var n =(dec >=0)? Math.pow(10,dec) : 1e10; 
        return Math.round(number * n) / n; 
    }
    // ]]>
    </script>
    </head>
    <body>
        <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
        
    
        <div id="div1">
        </div>
        <div id="div2">
        </div>
    </body>
    </html>
    Pietro

  5. #5
    aspetta... ti faccio un attimo vedere la funzione completa:

    Codice PHP:
    <html>
    <
    head>
    <
    script language="JavaScript">
    function 
    somma(v,s) {
      var 
    f=document.nomeform;
      var 
    realvalue=(f.c.value=="")?0:parseInt(f.c.value);
      var 
    valore;
      if (
    s)
        
    valore realvalue+parseInt(v);
      else
        
    valore realvalue-parseInt(v);
      
    f.c.value valore;
      
    f.nuovocampo.value valore 1.20;
      
    f.percentuale.value valore 0.20;
    }


    function 
    funzione_1(f) {
      
    f.funz1.value f.nuovocampo.value;
    }

    function 
    funzione_2(f) {
     
    f.funz2.value f.nuovocampo.value 0.95;
     
    document.paypal.amount.value f.funz2.value;
    }

    </script>

    </head>
    <body>
    <form name="nomeform" onsubmit="validaform(this);return false">

    prodotto 79 <input type="checkbox" value="79" onclick="somma(this.value, this.checked);" name="valore 79"/> 


    prodotto 100 <input type="checkbox" value="79" onclick="somma(this.value, this.checked);" name="valore 100"/> 


    prodotto 200 <input type="checkbox" value="79" onclick="somma(this.value, this.checked);" name="valore 200"/> 






    TOTALE NETTO <input type="text" name="c" value="0"/ disabled  size="4"> 


    IVA (20%) <input name="percentuale" type="text"/ disabled value="0" size="4">

         
    TOTALE LORDO <input name="nuovocampo" type="text"/ disabled value="0" size="4">







    valore normale
    <input type="radio" onclick="funzione_1(this.form)"/> 
        <input name="funz1" type="text"/ disabled value="0" size="4">



    valore scontato
    <input type="radio" onclick="funzione_2(this.form)"/> 
        <input name="funz2" type="text" value="0" size="4"></form> 
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  6. #6
    non cè un modo per arrotondare il decimale?
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  7. #7
    pietro09 come posso fare per farlo funzionare?
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  8. #8
    Originariamente inviato da fedemarkez
    non cè un modo per arrotondare il decimale?
    num.toFixed(2)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Originariamente inviato da andr3a
    num.toFixed(2)
    puoi suggerirmi il punto esatto in cui inserirlo?
    grazie 1000!!!
    Il PHP non è il mio forte e con i Phpisti Malvisti sono un webmaster malvisto

    pero' con la Letteratura Italiana me la cavicchio.... ghghg...

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da andr3a
    num.toFixed(2)

    mi sto accorgendo di essere un po' troppo indietro col mio javascript Mi puoi suggerire un buon riferimento?
    Javascript di David Flnagan, Apogeo, II edizione, va bene?
    Ciao
    Pietro

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.