失踪','在javascript中声明之前

时间:2014-08-25 10:05:05

标签: javascript

var value= "200,000.00 $";
var ft_PriceTotal = eval(value.replace(" $", ""));

我无法弄清楚为什么会出现此错误missing , after statement 有谁能告诉我如何解决这个错误?

1 个答案:

答案 0 :(得分:3)

由于eval运行代码,并且您要求它运行代码"200,000.00"

如果您的目标是将该字符串解析为数字,请使用parseFloat,但您也要删除逗号:

var value= "200,000.00 $";
var ft_PriceTotal = parseFloat(value.replace(/[ $,]/g, ""));

+也有效:

var value= "200,000.00 $";
var ft_PriceTotal = +value.replace(/[ $,]/g, "");

区别在于parseFloat将从找到的第一个非数字字符开始停止,但+要求整个字符串为数字。因此parseFloat("123.4xyz")123.4,但+"123.4xyz"NaN

请注意,这假定,是千位分隔符,就像在您的示例中一样。许多国家/地区使用,作为小数分隔符,因此上述内容不适合它们。但是您的示例使用,成千上万,所以......