Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Arrotondare un numero

  1. #1

    Arrotondare un numero

    come faccio ad arrotondare un numero del tipo 513.23478 in decimanle ?

  2. #2
    ci sono 3 modi:

    var numeroArrotondato = Math.round(542.12345);
    questo lo arrotonda... sia per eccesso che per difetto

    var numeroArrotondato = Math.floor(542.12345);
    questo per difetto

    var numeroArrotondato = Math.ceil(542.12345);
    questo per eccesso
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  3. #3
    Utente di HTML.it L'avatar di billy1
    Registrato dal
    Jun 2001
    Messaggi
    549

    pero'

    ciao, a me servirebbe arrotondare con 2 decimali in javascript, dalla cifra 0 a 4 arrotondare per difetto, dalla 5 alla 9 arrotondare per eccesso.

    es.

    se ho 1,225 dovro' avere 1,23

    se ho 1,224 dovro' avere 1,22

    grazie

    billy
    Il fumo fa male a te e agli altri.
    Rispettate chi non vuole respirare il fumo passivo.

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao billy1,
    codice:
    <script language="javascript">
    document.write('1,224 = '+(Math.round(1.224*100)/100)+'
    \n')
    document.write('1,225 = '+(Math.round(1.225*100)/100)+'
    \n')
    </script>

  5. #5
    a primo approccio credo così...

    num = 12.343;

    num_arrotondato = Math.round(num*1000)/1000;
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  6. #6
    Originariamente inviato da willybit
    Ciao billy1,
    codice:
    <script language="javascript">
    document.write('1,224 = '+(Math.round(1.224*100)/100)+'
    \n')
    document.write('1,225 = '+(Math.round(1.225*100)/100)+'
    \n')
    </script>
    azz!!! mi hai preceduto!!
    ciao
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  7. #7
    Utente di HTML.it L'avatar di billy1
    Registrato dal
    Jun 2001
    Messaggi
    549

    come dicevo a willybit

    come dicevo a willybit :

    ho sbagliato con le parentesi forse, pero' se le metto come dici tu, che cmq e' corretto, alla fine vedo pero' 3 decimali...
    ho messo in grassetto la cosa, alla fine mi viene fuori come risultato finale 8.745 , io vorrei visualizzare 8.75


    codice:
     
    
    function arrotonda(numero, numeroDecimali){ 
    var modificatore = "1"; 
    for(var i=0;i<numeroDecimali;i++){ 
    modificatore += "0"; 
    } 
    numero = numero * (parseInt(modificatore,10)); 
    // prima del 26 marzo 2004 :
    // numero = Math.round(numero);
    // fine prima del 26 marzo 2004
    
    // new 26 marzo 2004
    numero = Math.round(numero*100)/100;   // fine new 26 marzo 2004
    			
    var risultato = numero / modificatore; 
    		
    return risultato 
    }
    Il fumo fa male a te e agli altri.
    Rispettate chi non vuole respirare il fumo passivo.

  8. #8
    è molto + semplice di come dici...

    codice:
    <script>
    function arrotonda(numero, numeroDecimali){ 
    	var modif = Math.pow(10,numeroDecimali);
    	return Math.round(numero*modif)/modif;
    }
    
    alert(arrotonda(10.236,2));
    </script>
    ciao
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  9. #9
    Utente di HTML.it L'avatar di billy1
    Registrato dal
    Jun 2001
    Messaggi
    549

    ma

    ciao, ma ho visto che il numero 5 viene arrotondato per difetto in js, e' vero ?

    es. : 1,245

    diventa 1,24

    mentre in asp o vbscript diventerbbe 1,25

    infatti io ho delle pagine in asp / vbs in cui viene fouri 1,25, poi in una pagina in cui permetto di cambiare la quantita' dell'articolo da acquistare in un campo di testo, faccio l'evento onchange e appunto quando applico l'evento e quindi la funzione arrotonda, ottengo sempre 1,24 in js...
    Il fumo fa male a te e agli altri.
    Rispettate chi non vuole respirare il fumo passivo.

  10. #10
    vorresti arrotondare per eccesso il 5?

    ecco qui:

    codice:
    <script>
    function arrotonda(numero, numeroDecimali){ 
    	var modif = Math.pow(10,numeroDecimali);
    	return Math.round(numero*modif+0.1)/modif;
    }
    </script>
    ciao
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

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.