急....javascript 中的eval函数大家都用过吧,看看这个问题,只要给点建议就给分.

xiaobeibei 2002-10-22 01:29:00
我用eval函数来完成数字类型的转换.
但是在应用中发现如果用eval(00.0)或eval("00.0")都有问题.
不是提示少)号就是提示少;号.
eval函数会不会有其他的问题呢?
注:我用的是IE5.0
这样该怎么修正.欢迎大家来提意见.
...全文
34 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
潇洒 2002-10-22
  • 打赏
  • 举报
回复
呵呵.... 既然要考虑变态的用户输入...
最好用正则先把规则给它锁好. 否则你顾了这步, 下步很难猜到的..

我也遇到过这样的问题...... so. 问过秋水老大,帮我写正则.
(没办法,这个正则我怎么看也不太懂...)
xiaobeibei 2002-10-22
  • 打赏
  • 举报
回复
我自己也找到了使用方法,秋水说的是对的.
用Number就对了.
bencalie(Bencalie)你不了解实际情况.
我是对用户输入的结果进行处理.
如果有几个变态用户就是输入"00.0",我就的想办法去避免这个问题.
lbd8848(lbd)谢谢你找的帮助(虽然你写的对我这个问题一点帮助也没有).

分给大家了.
qiushuiwuhen 2002-10-22
  • 打赏
  • 举报
回复
因为00.0在语法上就不通过,可以用字符串

<script>
alert(Number("00.0"))
</script>
希默软件 2002-10-22
  • 打赏
  • 举报
回复
00.0和"00.0"在我这里也不行,但是数字你为什么写成这样的形式?0.0和"0.0"不就结了?使用0.0和"0.0"就没问题
lbd8848 2002-10-22
  • 打赏
  • 举报
回复
Eval 函数
请参阅
Execute 语句
要求
版本5
计算一个表达式的值并返回结果。

[result = ]Eval(expression)
参数
result
可选项。是一个变量,用于接受返回的结果。如果未指定结果,应考虑使用 Execute 语句代替。
expression
必选项。可以是包含任何有效 VBScript 表达式的字符串。
说明
在 VBScript 中,x = y 可以有两种解释。第一种方式是赋值语句,将 y 的值赋予 x。第二种解释是测试 x 和 y 是否相等。如果相等,result 为 True;否则 result 为 False。Eval 方法总是采用第二种解释,而 Execute 语句总是采用第一种。

注意 在Microsoft® JScript™ 中不存在这种比较与赋值的混淆,因为赋值运算符 (=) 与比较运算符 (==) 不同。
下面的例子说明了 Eval 函数的用法:

Sub GuessANumber
Dim Guess, RndNum
RndNum = Int((100) * Rnd(1) + 1)
Guess = CInt(InputBox("Enter your guess:",,0))
Do
If Eval("Guess = RndNum") Then
MsgBox "祝贺你!猜对了!"
Exit Sub
Else
Guess = CInt(InputBox("对不起,请再试一次",,0))
End If
Loop Until Guess = 0
End Sub

87,963

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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