2015-10-22 3 views
2

После моего предыдущего сообщения (в котором все были действительно полезны - спасибо) ive теперь ударил еще одну проблему ... Вычисления и FormatNumber результата.Вычисления в ASP Classic и FormatNumber результат

У меня есть 3 поля в SQL, что мне нужно сделать простой расчет с, то результат должен иметь 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 выполнения ошибка «800a000d» - несоответствие типа «

на этой линии, и я застрял ...

Могу ли я делать это правильно ... есть более простой способ?

ответ

3

Попробуйте преобразовать данные в длинной 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> 
+0

Неа - пытался как. Тип несоответствия: «CLong» –

+0

Вы уверены, что TotalFee, WIPFee, RenderedFee всегда номера? – krlzlx

+0

ok - я думаю, я знаю, почему - не должно быть «CLng» ?? –