Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Calcoli impazziti

  1. #1
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022

    Calcoli impazziti

    Sul sito di un mio cliente c'č un semplicissimo box in flash che permette di calcolare l'importo di un mutuo in base a determinati parametri selezionati. E' semplicissimo.
    L'ho realizzato molto tempo fa ma solo oggi mi hanno chiamato dicendo che su computer diversi compaiono risultati diversi. Ho controllato ed č vero. Anche su Firefox dā risultati diversi, ma poi riprovando dā il risultato corretto. VVoVe:
    Roba da impazzire.

    Il codice č semplice. Avevo impostato le seguenti funzioni

    codice:
    // Impedisci all'utente di inserire valori non numerici
    _root.MCimporto.restrict = "0-9";
    
    // Testo valore
    function tassoFisso(){
    	
    	_root.MCanni.addItem("10 anni","10.3");
    	_root.MCanni.addItem("15 anni","7.7");
    	_root.MCanni.addItem("20 anni","6.5");
    	_root.MCanni.addItem("25 anni","5.9");
    	_root.MCanni.addItem("30 anni","5.6");
    	
    }
    
    function tassoVariabile(){
    	
    	_root.MCanni.addItem("10 anni","9.9");
    	_root.MCanni.addItem("15 anni","7.2");
    	_root.MCanni.addItem("20 anni","5.9");
    	_root.MCanni.addItem("25 anni","5.2");
    	_root.MCanni.addItem("30 anni","4.85");
    	_root.MCanni.addItem("35 anni","3.8");
    	_root.MCanni.addItem("40 anni","3.7");		
    	
    }
    
    function tassoMisto(){
    	
    	_root.MCanni.addItem("10 anni","10.1");
    	_root.MCanni.addItem("15 anni","7.35");
    	_root.MCanni.addItem("20 anni","6.15");
    	_root.MCanni.addItem("25 anni","5.35");
    	_root.MCanni.addItem("30 anni","5.55");
    	
    }
    Poi, una volta che il cliente ha digitato la somma richiesta e selezionato la selectlist con il giusto tasso, cliccando sul tasto "calcola" fa eseguire il seguente codice:

    codice:
    on(click){
    			
    		
    		 var importoRichiesto = _root.MCimporto.text;
    		 var tasso = _root.MCtasso.getSelectedItem().data;
    		 var coefficientePerAnno = _root.MCanni.getSelectedItem().data;
    		
    		 var re = new RegExp("\\d");
    		
    		if(re.test(importoRichiesto)){
    				
    				_root.MCrisultato.text = "Inserisci solo valori numerici!"
    		 
    		
    		} else {
    		
    		_root.MCloader.gotoAndPlay(2);
    		
    		 // Esegui calcolo
    		rata = importoRichiesto / 1000;
    		rata = rata * coefficientePerAnno;
    		
    		// Arrotonda le 2 cifre dopo la virgola
    		rata = Math.round(rata * 100) / 100;
    				
    		_root.MCrisultato._visible = false;
    		_root.MCrisultato.text = "La tua rata e' di Euro " + rata;
    		
    		 }
    				
    	}
    Non so come venirne fuori. Su alcuni computer funziona sempre, su altri mai al primo colpo ma solo ai successivi. :master:
    Come test abbiamo attribuito i seguenti valori che per comodita associo alle variabili sopra indicate:

    importoRichiesto = 90000
    coefficientePerAnno = 5.6

    Il risultato su alcuni computer č corretto, ovvero 504, su altri invece č 499.5

  2. #2
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    uppete!

  3. #3
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Ok, risolto. In realtā il problema era altrove, ovvero nella parte di codice con cui popolavo la selectlist. Per chissā quale motivo su alcuni computer la variabile coefficientePerAnno manteneva un valore di default. Chiedo venia.

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.