【发布时间】:2009-02-02 14:55:53
【问题描述】:
我一直在尝试使用一个公式来计算我们团队正在创建的程序中的独家增值税。该公式在计算器或 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));
另一个公式运行良好。
示例输入是 100,增值税率为 14.00,预期的答案是税额 14,尽管它给出的是 7!!!
我们正在使用 EXTJS、js 和 C# 的混搭...
任何帮助将不胜感激。
亲切的问候
尼克
【问题讨论】:
-
Ext.getCmp('vatable').getValue().toString()的值是多少?
-
等等,14 / (100/100 + 1) = 7 不正确吗?
-
它是 Y 或 N,取决于它是包含增值税还是不包含增值税...
-
@Zach: 7 是正确的......不过他仍然有整数除法问题
-
不是整数除法,修正整数除法还是7。公式不正确
标签: c# javascript math extjs