Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774

    [javscript] - arrotondamento non funge!

    ciao ragazzi...
    ho preparato uno script per il calcolo del mutuo...
    ora vorrei poter arrotondare il risultato ai due decimali...
    ho provato ad usare Math.round ma non funziona...
    praticamente tronca completamente i decimali..
    sicuramente sbaglio qualcosa io ma non capisco cosa....
    vi posto il codice cosi se potete drci un occhiata...
    grazie mille!!!

    codice:
    function calcola(f){
    	var prezzo=new Number(f.prezzo.value);
    	var anni=f.anni.value;
    	var coeff;
    	var rata=0;
    	
    	// controllo che il campo prezzo contenga un valore numerico
    	if(new String(prezzo)=="NaN" || prezzo==0) {
    	       alert("Il campo prezzo è obbligatorio e può contenere solo valori numerici");
     	      f.prezzo.value="";
    	      f.prezzo.focus(); 
    	      return false;
    	}
    	
    	if(anni==""){	
    		alert("attenzione!\ninserire il numero di anni");
    		f.anni.focus();
    		return false;
    	}
    		
    	switch(anni){
    		case'5':
    			coeff=17,994; 
    			break;
    		case'10':
    			coeff=9,682; 
    			break;
    		case'15':
    			coeff=6,933; 
    			break;
    		case'20':
    			coeff=5,561; 
    			break;
    		case'25':
    			coeff=4,763; 
    			break;
    		case'30':
    			coeff=4,236; 
    			break;
    	}
    	
    	rata=((((prezzo*80)/100)/1000)*coeff);
    	f.rata.value=Math.round(rata);	
    	return true;
    }

    se avete anche altri consiglio sono ben aceeti..
    attendo risposte...
    grazie di nuovo

    citrus

  2. #2
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    mmm
    ho letto ora sulle api che il metodo round arrotonda all'intero più vicino..
    io ho bisogno di arrotondare i decimali..
    devo fare una funzione io o trovo qualcosa di gia pronto?
    nel caso dovessi farlo io posso usare i casting o javascript non li consente?

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    una delle innumerevoli possibili soluzioni...

    importo = String(Math.round(rata*100)/100);
    importo = (importo.indexOf(".")>=0)?importo+"0":importo+".00 ";
    importo = importo.substr(0,importo.indexOf(".")+3);
    f.rata.value = importo;

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    perfetto grazie mille!!!

    ora gia che ci sono approfitterei per chiedere un altra cosa....
    praticamente il calcolo della rata si fa in questo modo:
    codice:
    rata=((((prezzo*80)/100)/1000)*coeff);
    ora io vorrei anche invertire la funzione e ritrovare il prezzo a partire dalla rata e dal coefficiente....
    ho provato con questo codice ma non funziona...

    codice:
    prezzo=((((rata*100)/80)*1000)/coeff)
    (... la matematica haimè non è il mio forte ...) :rollo:

  5. #5
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    ragazzi scusate..
    la formula è giusta (almeno la mia matematica è salva )!!!

    infatti con javascript funziona alla perfezione..
    il problema me lo da perchè poi la formula inversa la calcolo in una pagina asp....
    quindi sbaglierò qualcosa li (magari posto nel forum dedicato ad asp)....

    ....
    scusate l'off topic!
    grazie mille di nuovo

    citru(llu)s

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.