私たちのチームが作成しているプログラムで、排他的 VAT を計算するために使用される式を使用しようとしています。この数式は、電卓や Excel で使用すると正しく機能しますが、プログラムの関数内で使用すると異なる出力が得られます。
ここに関数があります:
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;
}
}
}
問題の式はvAmt = (vRate / ((vTranAmt / 100) + 1));
他の式は完全に機能しています。
入力例は、VAT 税率 14.00 の 100 であり、期待される答えは税額 14 ですが、7 となります!!!
EXTJS、js、C# のマッシュアップを使用しています...
どんな助けでも大歓迎です。
敬具
ニック