Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    posta il codice della tua pagina
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  2. #12
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Aspetta, aspetta, era proprio un errore di calcolo; una proporzione errata che mi dava dei dati errati a monte. Funziona perfettamente e 19 è diventato 19.25. Ora mi butto sulla questione del numero di decimali che come giustamente intuivi ho 14.999999999999999. Torno a fare qualche ricerca.

    Grazie mille!

  3. #13
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    è facile: sia 'n' il numero di cifre a cui devi arrotondare il valore 'v'

    valore = (Math.round(v * (10^n)))/(10^n)

    ad es. arrotondando a due cifre:

    codice:
    <script type="text/javascript">
    // <![CDATA[
    v = 14.799999999999;
    valore = (Math.round(v * (100)))/(100)
    alert(valore);
    // ]]>
    </script>
    Ciao


    Keywords: arrotondamento arrotondare numero decimale virgola mobile
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #14
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Grazie davvero!

  5. #15
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ciao scusa se riapro, ma proprio non sono riuscito ad integrare il tuo script per ormattare a due cifre. Ho fatto una miriade di prove e modifiche, ma senza successo; lo script seguente è ciò che funziona perfettamente ma senza l'arrotondamento. L'ho dovuto un po' complicare poichè è ottenuto dinamicamente.

    codice:
    <script>
    function calcolaKKK() {
       vKKK1 = document.getElementById('cKKK1').value;
       vKKK1 = parseFloat(vKKK1, 10);
       vKKK1 = (Math.round(vKKK1 * (100)))/(100)
    
       vKKK2 = document.getElementById('cKKK2').value;
       vKKK2 = parseFloat(vKKK2, 10);
       vKKK2 = (Math.round(vKKK2 * (100)))/(100)
    
      document.getElementById('cKKK3').value = vKKK1-(vKKK1 * vKKK2 /100);
       
    }
    function calcolaKKKbis() {
       vKKK4 = document.getElementById('cKKK1').value;
       vKKK4 = parseFloat(vKKK4, 10);
       vKKK4 = (Math.round(vKKK4 * (100)))/(100)
    
       vKKK3 = document.getElementById('cKKK3').value;
       vKKK3 = parseFloat(vKKK3, 10);
       vKKK3 = (Math.round(vKKK3 * (100)))/(100)
    
      document.getElementById('cKKK2').value =((vKKK4-vKKK3)*100)/vKKK4;
    
    }
    </script>
    Tutto perfettamente funzionante, tranne i risultati che come giustamente intuivi, sono con numerosi decimali (anzichè due).

    Mi sapresti dare qualche dritta per integrare i due script?
    Ciao e grazie

  6. #16
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    un errore è qui:
    parseFloat(vKKK1, 10);

    parseFloat accetta un solo parametro (il numero da arrotondare) e non due come parseInt.
    Controlla nei post precedenti

    Ad ogni modo fai girare lo script sotto firefox e individua la riga esatta in cui si verificano gli errori con la javascript console.

    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #17
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    In effetti non mi dà un errore, ma è che non mi arrotonda a due decimali. Ho provato a rimuovere il secondo parametro

    codice:
    da parseFloat(vKKK1, 10);
    a parseFloat(vKKK1);
    ma purtroppo il risultato non cambia.

    Provando con
    codice:
    valore = (Math.round(v * (100)))/(100)
    , mi andava in una specie di loop e la pagina si impallava.

    Ora dò uno sguardo ai vari 3d sull'argomento oppure provo a gestirlo sulla seconda pagina (anche se forse non mi è possibile).

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