posta il codice della tua pagina
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)
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!
è 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:
Ciaocodice:<script type="text/javascript"> // <![CDATA[ v = 14.799999999999; valore = (Math.round(v * (100)))/(100) alert(valore); // ]]> </script>
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)
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.
Tutto perfettamente funzionante, tranne i risultati che come giustamente intuivi, sono con numerosi decimali (anzichè due).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>
Mi sapresti dare qualche dritta per integrare i due script?
Ciao e grazie
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)
In effetti non mi dà un errore, ma è che non mi arrotonda a due decimali. Ho provato a rimuovere il secondo parametro
ma purtroppo il risultato non cambia.codice:da parseFloat(vKKK1, 10); a parseFloat(vKKK1);
Provando con, mi andava in una specie di loop e la pagina si impallava.codice:valore = (Math.round(v * (100)))/(100)
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