vbscript - ASP Classic 和 FormatNumber 中的计算结果

标签 vbscript asp-classic

在我上一篇文章之后(其中每个人都非常有帮助 - 谢谢),我现在遇到了另一个问题......计算并对结果进行 FormatNumber。

我在 SQL 中有 3 个字段,我需要对其进行简单的计算,然后需要对结果应用 FormatNumber。

字段是

“OverallFee”、“WIPFee”、“RenderedFee” - 均为数字

在整个表格中,它们都很好地填充了下面的内容。

<td width="100" align="center" class="style1"><% If Not IsNull(rs("OverallFee")) Then Response.Write ("£" + FormatNumber(rs("OverallFee"),0)) End If %></td>
<td width="100" align="center" class="style1"><% If Not IsNull(rs("RenderedFee")) Then Response.Write ("£" + FormatNumber(rs("RenderedFee"),0)) End If %></td>
<td width="100" align="center" class="style1"><%=rs("WIPFee")%></td>

现在我需要做一个计算 -

("OverallFee"/100) * "WIPFee" - "RenderedFee"

我已经尝试过

<td width="50" align="center" class="style1"><%=((rs("OverallFee")/100)*rs("WIPFee")-rs("RenderedFee"))%></td>

它应该可以工作,但我得到了

Microsoft VBScript runtime error '800a000d' - Type mismatch "

在那条线上,我被困住了......

我这样做对吗...有更简单的方法吗?

最佳答案

尝试将数据转换为长CLng或双CDbl

<%
    calc = 0 'Or a text to display

    If Not IsNull(rs("RenderedFee")) And Not IsNull(rs("OverallFee")) And Not IsNull(rs("WIPFee")) Then
        calc = (CLng(rs("OverallFee"))/100)*CLng(rs("WIPFee"))-CLng(rs("RenderedFee"))
    End If
%>

<td width="50" align="center" class="style1"><%=calc%></td>

关于vbscript - ASP Classic 和 FormatNumber 中的计算结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33280063/

相关文章:

parameters - 如何将参数从 Batch (.bat) 传递到 VBScript (.vbs)?

object - 检查vbscript中是否设置对象

vbscript - 检查脚本是否具有提升的权限

asp-classic - 域根用户名 URL 的 ISAPI 重写重写规则

encryption - 在经典ASP中加密连接字符串

mysql - 在新服务器上导致 'Type mismatch' 错误的经典 ASP 脚本

excel - 将csv导入excel的vbscript

在 WQL/SCCM 中连接两个表

html - 经典多选列表框 SQL 查询

javascript - 当用户在 IE8 中按 Enter 键时,如何阻止 classic-asp 页面提交表单?