Probleme de resultats avec AS 1 & 2

Probleme de resultats avec AS 1 & 2 - Flash/ActionScript - Programmation

Marsh Posté le 12-09-2012 à 15:51:24    

Bonjour à vous!!
 
J'aurais besoin de votre aide car j'ai pas mal de soucis avec un code as. En fait, j'entre des donnée pour faire un calcul, celle-ci s'affiche, mais les résultats ne sont pas bon.
 
j'ai un prix net de 32000  
un TAEG en fonction de la période 24 mois par exmple à du 2,99%
un accompte de 1000 euros  
Et dans mon calcul, je dois arriver à trouver la mensualité que je devrais payer.  
 
le résultat est bon quand je n'ai pas d’acompte. 1374.68
si je met 1000 euros j'arrive à 1305.95 or je devrais avoir 1331.73
 
 
je sais pas si vous avez compris ^^
 
tabtaux=taeg
tabdurée=nombre de mois
tabpremierloyer=acompte
 

Citation :

function getVPM(taux_annuel, VI, premier_loyer, NPER, option_achat, type)
{
    taux = Math.pow(1 + tabTaux[taux_annuel] / 100, 0.0833333333333) - 1;
    VA = VI - VI / 100 * tabPremierLoyer[premier_loyer];
    VC = (0 - VI / 100) * tabOptionAchat[option_achat];
    VPM = taux * (VC + VA * Math.pow(1 + taux, tabDuree[NPER])) / ((1 + taux * type) * (1 - Math.pow(1 + taux, tabDuree[NPER]))) * -1;
    duree.text = tabDuree[NPER];
    interet.text = tabTaux[taux_annuel] + " %";
    investissement.text = VI + " EUR";
    apport.text = tabPremierLoyer[premier_loyer] + " %";
    apport_expl.text = VI / 32000 * 200 * tabPremierLoyer[premier_loyer] + " EUR";
    var __reg2 = VPM.toString().lastIndexOf("." );
    if (__reg2 > -1)  
    {
        VPM = VPM.toString().slice(0, __reg2 + 3);
    }
    valeur.text = VPM + " EUR";
}
function showElement(element, elementState)
{
    if (elementState == 0)  
    {
        element.enabled = 0;
        element._alpha = 15;
        return undefined;
    }
    element.enabled = 1;
    element._alpha = 100;
}
tabTaux = Array();
tabTaux[0] = 2.99;
tabTaux[1] = 3.75;
tabTaux[2] = 4.49;
tabTaux[3] = 4.99;
tabTaux[4] = 5.25;
tabTaux[5] = 5.50;
tabTaux[6] = 5.75;
tabTaux[7] = 6.00;
tabTaux[8] = 6.25;
tabTaux[9] = 6.50;
tabDuree = Array();
tabDuree[0] = 24;
tabDuree[1] = 36;
tabDuree[2] = 48;
tabDuree[3] = 60;
tabPremierLoyer = Array();
tabPremierLoyer[0] = 0;
tabPremierLoyer[1] = 5;
tabPremierLoyer[2] = 10;
tabPremierLoyer[3] = 15;
tabPremierLoyer[4] = 20;
tabPremierLoyer[5] = 24.995;
tabOptionAchat = Array("0" );
dTaux = 0;
dVI = 32000;
dVI2 = 20000;
dPremierLoyer = 0;
dDuree = 0;
dOptionAchat = 0;
showElement(duree_moins, 0);
showElement(option_moins, 0);
showElement(apport_moins, 0);
showElement(interet_moins, 0);
duree_plus.onRelease = function ()
{
    dDuree = dDuree + 1;
    showElement(duree_moins, 1);
    if (dDuree == tabDuree.length - 1)  
    {
        showElement(this, 0);
    }
    else  
    {
        showElement(this, 1);
    }
    getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);
}
;
duree_moins.onRelease = function ()
{
    dDuree = dDuree - 1;
    showElement(duree_plus, 1);
    if (dDuree == 0)  
    {
        showElement(this, 0);
    }
    else  
    {
        showElement(this, 1);
    }
    getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);
}
;
interet_plus.onRelease = function ()
{
    dTaux = dTaux + 1;
    showElement(interet_moins, 1);
    if (dTaux == tabTaux.length - 1)  
    {
        showElement(this, 0);
    }
    else  
    {
        showElement(this, 1);
    }
    getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);
}
;
interet_moins.onRelease = function ()
{
    dTaux = dTaux - 1;
    showElement(interet_plus, 1);
    if (dTaux == 0)  
    {
        showElement(this, 0);
    }
    else  
    {
        showElement(this, 1);
    }
    getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);
}
;
apport_plus.onRelease = function ()
{
    dPremierLoyer = dPremierLoyer + 1;
    showElement(apport_moins, 1);
    if (dPremierLoyer == tabPremierLoyer.length - 1)  
    {
        showElement(this, 0);
    }
    else  
    {
        showElement(this, 1);
    }
    getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);
}
;
apport_moins.onRelease = function ()
{
    dPremierLoyer = dPremierLoyer - 1;
    showElement(apport_plus, 1);
    if (dPremierLoyer == 0)  
    {
        showElement(this, 0);
    }
    else  
    {
        showElement(this, 1);
    }
    getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);
}
;
option_plus.onRelease = function ()
{
    dOptionAchat = dOptionAchat + 1;
    showElement(option_moins, 1);
    if (dOptionAchat == tabOptionAchat.length - 1)  
    {
        showElement(this, 0);
    }
    else  
    {
        showElement(this, 1);
    }
    getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);
}
;
option_moins.onRelease = function ()
{
    dOptionAchat = dOptionAchat - 1;
    showElement(option_plus, 1);
    if (dOptionAchat == 0)  
    {
        showElement(this, 0);
    }
    else  
    {
        showElement(this, 1);
    }
    getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);
}
;
getVPM(dTaux, dVI, dPremierLoyer, dDuree, dOptionAchat, 0);


 
pouvez vous me dire ce qu'y cloche svp, je trouve pas le "stuut", la boulette qui fait que mon calcul ne fonctionne pas...
 
(je ne suis pas l'auteur du code, je suis celui qui à repris son taf)

Reply

Marsh Posté le 12-09-2012 à 15:51:24   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed