Forms 经典ASP-需要帮助更新印花税计算器百分比

Forms 经典ASP-需要帮助更新印花税计算器百分比,forms,asp-classic,Forms,Asp Classic,我被要求更新印花税计算器百分比,但它是用asp编写的,我以前从未真正使用过它。我已经更新了百分比,但当我计算这个数字时,它似乎偏离了大约100英镑到1000英镑 以下是计算器的总数 这就是我正在研究的 正确的规则和规则 这是结果应该是什么的一些例子 如果输入125000英镑,则应显示0英镑印花税(此项有效) 如果输入了185000英镑,则应显示1200英镑的印花税(为我显示1295英镑) 如果输入275000英镑,则应显示3750英镑的印花税(3850英镑为我显示) 如果输入了937500英镑,

我被要求更新印花税计算器百分比,但它是用asp编写的,我以前从未真正使用过它。我已经更新了百分比,但当我计算这个数字时,它似乎偏离了大约100英镑到1000英镑

以下是计算器的总数

这就是我正在研究的

正确的规则和规则

这是结果应该是什么的一些例子

如果输入125000英镑,则应显示0英镑印花税(此项有效)

如果输入了185000英镑,则应显示1200英镑的印花税(为我显示1295英镑)

如果输入275000英镑,则应显示3750英镑的印花税(3850英镑为我显示)

如果输入了937500英镑,则应显示37500英镑的印花税(此项有效)

如果输入2100000英镑,则应显示165750英镑的印花税(我显示165900英镑)


新费率为:

0-125000英镑0%

125001英镑-250000英镑2%

250001英镑-925000英镑5%

925001英镑-150万英镑10%

150万英镑以上12%

<%
dim a, b, c, d, e, f, g, h, i, j, k, l, z, x, y, w, v
x = request("leasehold")
y = request("newbuild")
a = request("PurchasePrice")
CurrencySymbol ="£"
if x=yes then w=150
if y=yes then v=150
if a>=0 then b=775-w-v
if a>=100001 then b=800-w-v 'A = PurchasePrice | B = Legal Fees'
if a>=150001 then b=850-w-v
if a>=200001 then b=900-w-v
if a>=250001 then b=975-w-v
if a>=300001 then b=1050-w-v
if a>=400001 then b=1150-w-v
if a>=500001 then b=1275-w-v
if a>=600001 then b=1400-w-v
if a>=700001 then b=0
if b=0 then aa="Please Call to Discuss"


'***PRECENTS ARE HERE******'
if a>=125000 then d=a*0     '0%'
if a>=185000 then d=a*0.007 '0.7%
if a>=250000 then d=a*0.014 '1.4%'
if a>=510000 then d=a*0.03 '3.0%'
if a>=937500 then d=a*0.04 '4.0%'
if a>=2100000 then d=a*0.079 '7.9%'
'*******************'

if a>=0 then f=40        'Land Registry Fee ?'
if a>=50001 then f=70
if a>=80001 then f=120
if a>=100001 then f=190
if a>=200001 then f=270
if a>=500001 then f=540
g = 30
e = 160
c = FormatNumber((b*120/100-b),2) 'V.A.T ?'
h = FormatNumber((g*120/100-g),2)
l = formatnumber((b),2)
m = formatnumber((g),2)
n = formatnumber((f),2)
o = formatnumber((e),2)
p = formatnumber((c),2)
q = formatnumber((d),2)
r = formatnumber((h),2)
k = b+c
i = d+e+f+g+h
j = k+i
s = formatnumber((k),2)
t = formatnumber((i),2)
u = formatnumber((j),2)
v = formatnumber((a),2)
%>
=0然后b=775-w-v
如果a>=100001,则b=800-w-v'a=采购价格| b=法律费用'
如果a>=150001,则b=850-w-v
如果a>=200001,则b=900-w-v
如果a>=250001,则b=975-w-v
如果a>=300001,则b=1050-w-v
如果a>=400001,则b=1150-w-v
如果a>=500001,则b=1275-w-v
如果a>=600001,则b=1400-w-v
如果a>=700001,则b=0
如果b=0,则aa=“请致电讨论”
“***先例在这里******”
如果a>=125000,则d=a*0'0%'
如果a>=185000,则d=a*0.007'0.7%
如果a>=250000,则d=a*0.014'1.4%'
如果a>=510000,则d=a*0.03'3.0%'
如果a>=937500,则d=a*0.04'4.0%'
如果a>=2100000,则d=a*0.079'7.9%
'*******************'
如果a>=0,则f=40‘土地注册费?’
如果a>=50001,则f=70
如果a>=80001,则f=120
如果a>=100001,则f=190
如果a>=200001,则f=270
如果a>=500001,则f=540
g=30
e=160
c=格式编号((b*120/100-b),2)“V.A.T?”
h=格式编号((g*120/100-g),2)
l=格式编号((b),2)
m=格式编号((g),2)
n=格式编号((f),2)
o=格式编号((e),2)
p=格式编号((c),2)
q=格式编号((d),2)
r=格式编号((h),2)
k=b+c
i=d+e+f+g+h
j=k+i
s=格式编号((k),2)
t=格式编号((i),2)
u=格式编号((j),2)
v=格式编号((a),2)
%>

它是经典的asp,而不是asp.net,并且使用VBScript作为服务器端脚本语言

我假设你的数学是正确的

您还没有用end if关闭任何if语句,我很惊讶它没有抛出错误消息。下面是一个正确语法的示例

if a>=700001 then b=0 end if
如果要检查文本字符串的值,则需要使用引号-例如

if x="yes" then w=150 end if
最后,我在purcase.asp上对您的表单进行了查看源代码。我注意到您的租赁和新建复选框的值属性都是“关闭”的。显然,它们必须是“yes”才能与asp.NET中的Request()语句相对应

编辑

考虑到您提供的费率,下面是我要编写的代码

<%
a = Clng(Request("a"))
if a<=125000 Then d=(a*0)
Elseif a>125000 And a<=250000 then d=(a*0.02)  
Elseif a>250000 And a<=925000 then d=(a*0.05)
Elseif a>925000 And a<=1500000 then d=(a*0.1)
Elseif a>1500000 then d=(a*0.12)
End if
Response.write d
%>

编辑2-如果我正确理解新的印花税规则,我会这样做。请注意,57500英镑、33750英镑和2500英镑是您在10%、5%和2%区间分别支付的最高金额

<%
a = Clng(Request("a"))
if a<=125000 Then d=0
Elseif a>125000 And a<=250000 then d=((a-125000)*0.02)  
Elseif a>250000 And a<=925000 then d=2500+((a-250000)*0.05)
Elseif a>925000 And a<=1500000 then d=33750+2500+((a-925000)*0.1)
Elseif a>1500000 then d=57500+33750+2500+((a-1500000)*0.12)
End if
Response.write d
%>


VBScript不要求用
end if
终止单行
if
语句。语法很好。(在一行中添加
End If
If
支持非常模糊的
需求:
-在同一行中分隔过去的语句和条件之外的语句。这样的代码最好不写。)@EURONECULI这样代码就可以了,问题一定出在maths@EuroMicelli-干杯,我不知道。“我关于引用文本字符串的观点仍然成立,”约翰说,“我做了一些调整,但似乎是一样的。如果a>=185000,那么d=a*0.007‘0.7%’这意味着如果a大于或等于185000,那么d等于(a乘以0.007)。0.7%是一个评论。VBScript中使用单引号对文本进行注释。单引号之后的任何内容都将被忽略。