Javascript 评价中的评价问题
我正在使用eval将字符串小数转换为小数Javascript 评价中的评价问题,javascript,exception,eval,Javascript,Exception,Eval,我正在使用eval将字符串小数转换为小数 eval("000451.01"); 当我使用上面的javascript语句时,它抛出异常“expected;” 使用eval(“000451”)时它给了我一个不同的结果 有人知道吗?以零开头的数字被解释为八进制数。但是八进制数只是整数而不是浮点数。所以试试这个: eval("451.01") 但如果您使用以下选项,则会更好: 以零开头的数字被解释为八进制数。但是八进制数只是整数而不是浮点数。所以试试这个: eval("451.01") 但如果您使
eval("000451.01");
当我使用上面的javascript语句时,它抛出异常“expected;”
使用eval(“000451”)时代码>它给了我一个不同的结果
有人知道吗?以零开头的数字被解释为八进制数。但是八进制数只是整数而不是浮点数。所以试试这个:
eval("451.01")
但如果您使用以下选项,则会更好:
以零开头的数字被解释为八进制数。但是八进制数只是整数而不是浮点数。所以试试这个:
eval("451.01")
但如果您使用以下选项,则会更好:
在Javascript中,以零开头的标记是以8为基数的整数文本<基8中的code>000451
在基10中是297
,而000451.01
被解析为int(297)dot int(1)
除去初始的零,它应该可以工作。在Javascript中,以零开头的标记是以8为基数的整数文本<基8中的code>000451在基10中是
297
,而000451.01
被解析为int(297)dot int(1)
删除初始零,它应该可以工作。您应该不使用
eval
解析数字;它将比常规方法慢几个数量级
相反,您应该使用parseFloat
函数。如下所示:parseFloat(“000451.01”)
出现错误的原因是Javascript将以0
开头的数字视为八进制数字,不能有小数
eval("000451.01");
如果要解析整数,请调用
parseInt
,并确保提供第二个参数10
,以强制它解析以10为基数的数字,否则您将遇到相同的问题。您应该不使用eval
解析数字;它将比常规方法慢几个数量级
相反,您应该使用parseFloat
函数。如下所示:parseFloat(“000451.01”)
出现错误的原因是Javascript将以0
开头的数字视为八进制数字,不能有小数
eval("000451.01");
如果要解析整数,请调用
parseInt
,并确保提供第二个参数10
,以强制它解析以10为基数的数字,否则您将遇到相同的问题。parseFloat
不接受基数参数。parseFloat
不接受基数参数。