FormatNumber 类型不匹配错误

HLxiuluo 2009-01-20 02:40:51
数据库SQL
我现在 获取 <input name="hjdxje" type="text" size="25" value="<%=rs("hjdxje")%>"> 是大写的壹二三四五六

到hjdxje=rmb(request("hjdxje")) 后提示


Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配: 'FormatNumber'


<%
Function rmb(num)

num = FormatNumber(num, 2)


Dim numList
Dim rmbList
Dim numLen
Dim numChar
Dim numstr
Dim n
Dim n1, n2
Dim hz
numList = "零壹贰叁肆伍陆柒捌玖"
rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万"

If num > 9999999999999.99 Then
rmb = "超出范围的人民币值"
Exit Function
End If

numstr = CStr(num * 100)
numLen = Len(numstr)
n = 1
Do While n <= numLen
numChar = CInt(Mid(numstr, n, 1))
n1 = Mid(numList, numChar + 1, 1)
n2 = Mid(rmbList, numLen - n + 1, 1)
If Not n1 = "零" Then
hz = hz + CStr(n1) + CStr(n2)
Else
If n2 = "亿" Or n2 = "万" Or n2 = "元" Or n1 = "零" Then
Do While Right(hz, 1) = "零"
hz = Left(hz, Len(hz) - 1)
Loop
End If
If (n2 = "亿" Or (n2 = "万" And Right(hz, 1) <> "亿") Or n2 = "元") Then
hz = hz + CStr(n2)
Else
If Left(Right(hz, 2), 1) = "零" Or Right(hz, 1) <> "亿" Then
hz = hz + n1
End If
End If
End If
n = n + 1
Loop
Do While Right(hz, 1) = "零"
hz = Left(hz, Len(hz) - 1)
Loop
If Right(hz, 1) = "元" Then
hz = hz + "整"
End If
rmb = hz
End Function

%>
怎么半啊
...全文
525 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你是中文字符首先要让他转为数字的才能比较啊
layers2323 2009-01-20
  • 打赏
  • 举报
回复
你用replace函数把中文替换成阿拉伯数字,然后在用cint转换成数字。
qiubin200236 2009-01-20
  • 打赏
  • 举报
回复
自己写个反向转换吧
HLxiuluo 2009-01-20
  • 打赏
  • 举报
回复
对我知道 这个问题就是在着 现在想知道怎么半哦
layers2323 2009-01-20
  • 打赏
  • 举报
回复
....
参数不对,你的num是中文字符串唉~~~

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧