ASP数字计算的问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 23:44:23
<%=CSng(21.8)-CSng(18)-CSng(3.1)%> 结果=.6999993

<%=Cint(21.8)-Cint(18)-Cint(3.1)%> 结果=1

<%=Clng(21.8)-Clng(18)-Clng(3.1)%> 结果=1

<%=21.8-18-3.1%> 结果=.700000000000001

怎样计算才能得出准确的结果0.7

<%=FormatNumber(CSng(21.8)-CSng(18)-CSng(3.1),1)%> =0.7
<%=FormatNumber(21.8-18-3.1,1)%> =0.7

cint(x)+1

<%
function subtract(x,y)
if instr(cstr(x),".")=0 or instr(cstr(y),".")=0 then
subtract=x-y
else
dim flag
flag=1
if x<>0 then flag=x/abs(x)
end if
subtract=fix(x)+1
x=cstr(x)
x=cdbl(right(x,len(x)-instr(x,".")+1))*flag
y=y+(1-cdbl(x))
subtract=subtract-y
end if
end function

response.write subtract(123.3,2.1)
%>
自己写个函数吧,上面是我写的函数。你可以试一下。虽然比较麻烦,但是很准的。