asp 代码运行时错误“800a000d”

问题描述 投票:0回答:1

当我在网站上搜索数据库中的项目时,收到以下错误。

Microsoft VBScript runtime error '800a000d'
Type mismatch: 'FormatCurrency'
/search_diamond_results.asp, line 657

第657行有以下代码。

'profprice = 0

                                price = 0 

                                price = rst("price")
                                'profprice = rst("profit") / 100                 

                                totprice = price' + profprice 


                                'If rst("profit") <> "" then
                    657--->             prc = FormatCurrency(totprice)
                                'Else
                                    If rst("price") <> "" then
                                        prc = FormatCurrency(rst("price")) 
                                    'Else
                                        'prc = rst("price") 
                                    End if
                                'End If 

您有解决上述错误的方法吗?

vbscript asp-classic
1个回答
0
投票

可能您的totprice为空或者是字符串,您必须指定一个值才能使用FormatCurrency 要检查变量是否是字符串,只需使用 IsNumeric(var) 它将返回 true 或 false。 另外,请确保该价格不是数据库中的 varchar。

price = rst("price")
if IsNumeric(price)=false then
    price=replace(price,".",",")
    price=formatnumber(price)
end if
'profprice = rst("profit") / 100                 
totprice = price ' + profprice 
'If rst("profit") <> "" then
    prc = FormatCurrency(totprice)
'Else
    If rst("price") <> "" then
        prc = FormatCurrency(rst("price")) 
    'Else
        'prc = rst("price") 
    End if
'End If 
© www.soinside.com 2019 - 2024. All rights reserved.