JS中字符串和数字相乘,在ASP中怎么实现?

rabbit0613 2006-10-28 12:22:39
有这么一段JS代码:
<script language=Javascript>
var r;
var l;
r='0xB0'; //这里一前一后两个字符都是“零”。
l=5;
alert(r*l);
</script>

显示的结果是:880,相当于把字符串'0xB0'转换为数值176,我试了下是用parseInt函数转化的,因为
parseInt('0xB0')=176

现在的问题是,我要用ASP实现r*l=880,怎么写?也就是说,在ASP里面怎么把一个字符串转换为数值?

我试过用CLNG,CINT都不行,显示:类型不匹配。很奇怪的是,Clng("3E3")却可以,结果是3000。

Clng("0xB0")显示:类型不匹配。

请高手解答!
...全文
294 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbit0613 2006-10-28
  • 打赏
  • 举报
回复
ASP:Asc("0xB0")=48
JS:parseInt('0xB0')=176

不一样的!请高手给我个测试通过的答案!
jhdl_n 2006-10-28
  • 打赏
  • 举报
回复
Asc("0xB0")
rabbit0613 2006-10-28
  • 打赏
  • 举报
回复
类型不匹配: 'val'

Val 只是VB的函数吧,ASP不识别的
jhdl_n 2006-10-28
  • 打赏
  • 举报
回复
Val(0xB0) 试试
rabbit0613 2006-10-28
  • 打赏
  • 举报
回复
robur(机修) 正解。结贴加分。谢谢。

有个疑问,为什么前面是0x 的话就要去掉呢?呵呵 此问题另开贴求解
robur 2006-10-28
  • 打赏
  • 举报
回复
貌似没有……需要自己写函数……
Function chn10(nums)
Dim tmp,tmpstr,i

if mid(nums,1,2)="0X" or mid(nums,1,2)="0x" then nums=replace(replace(nums,"0x",""),"0X","")
nums_len=Len(nums)
For i=1 To nums_len
tmp=Mid(nums,i,1)
If IsNumeric(tmp) Then
tmp=tmp * 16 * (16^(nums_len-i-1))
Else
tmp=(ASC(UCase(tmp))-55) * (16^(nums_len-i))
End If
tmpstr=tmpstr+tmp
Next
Response.Write tmpstr
End Function

网上找一个,略加改动……

28,391

社区成员

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

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