Javascript 评价中的评价问题

Javascript 评价中的评价问题,javascript,exception,eval,Javascript,Exception,Eval,我正在使用eval将字符串小数转换为小数 eval("000451.01"); 当我使用上面的javascript语句时,它抛出异常“expected;” 使用eval(“000451”)时它给了我一个不同的结果 有人知道吗?以零开头的数字被解释为八进制数。但是八进制数只是整数而不是浮点数。所以试试这个: eval("451.01") 但如果您使用以下选项,则会更好: 以零开头的数字被解释为八进制数。但是八进制数只是整数而不是浮点数。所以试试这个: eval("451.01") 但如果您使

我正在使用eval将字符串小数转换为小数

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
不接受基数参数。