J'ai essayé d'utiliser une formule qui est utilisée pour calculer la TVA exclusive dans un programme que notre équipe est en train de créer. La formule fonctionne correctement lorsqu'elle est utilisée dans une calculatrice ou en Excel, mais donne une sortie différente lorsqu'elle est utilisée dans une fonction de notre programme!Formule mathématique ne donnant pas la même réponse en C# qu'en excel, ou à la calculatrice
est la fonction ici:
function fn_calcVat()
{
var vRate = Ext.getCmp('crd_vat_rate').getValue();
var vTranAmt = Ext.getCmp('crd_tran_amt').getValue();
if (vRate != '' && vTranAmt != '')
{
alert(Ext.getCmp('vatable').getValue().toString());
var vAmt = 0;
if (Ext.getCmp('vatable').getValue().toString() == 'Y')
{
vAmt = (vRate/((vTranAmt/100) + 1));
Ext.getCmp('crd_vat_amt').setValue(vAmt.toFixed(2));
Ext.getCmp('crd_tran_tot').setValue(vTranAmt.toString());
vAmt = 0;
}
else
{
vAmt = ((vRate/100) * vTranAmt);
Ext.getCmp('crd_vat_amt').setValue(vAmt.toFixed(2));
Ext.getCmp('crd_tran_tot').setValue((vTranAmt + vAmt));
vAmt = 0;
}
}
}
la formule de problème est vAmt = (vRate/((vTranAmt/100) + 1));
L'autre formule fonctionne parfaitement. Un exemple d'entrée serait 100 avec un taux de TVA de 14,00, et la réponse attendue serait un montant de taxe de 14, bien qu'il donne comme 7 !!!
Nous utilisons un mashup de ExtJS, js et C# ...
Toute aide serait grandement apprécié.
Cordialement
Nick
Quelle est la valeur de Ext.getCmp ('Vatable'). GetValue(). ToString()? – recursive
Attendre, n'est pas 14/(100/100 + 1) = 7 correct? –
Il est soit Y ou N en fonction de la TVA incluse ou exclusive ... –