5

我正在尝试从数字中删除逗号。

var thisbill_str = ""; 
thisbill = $('#linebill_' + z).val(); 
if (isNaN(thisbill) ) { thisbill = 0.00; } 
thisbill_str = thisbill; 
thisbill = thisbill_str.replace(/,/g, ""); 

这个javascript代码给了我一个错误:

TypeError: thisbill_str.replace is not a function

我是否给它'g'和'i'标志都没关系。只有当字符串中没有逗号时,它才会这样做,即,如果字符串是'515.00'。如果字符串是“5,515.00”,那么它工作正常。我在文档中没有看到任何东西告诉我要替换的字符串必须实际存在。我错过了什么,有什么更好的方法来做到这一点?

4

3 回答 3

9

这很可能是由 thisbill_str 不是字符串引起的。也许您在某处有一些其他代码可以自动将 thisbill_str 转换为数字?

您可以使用String(thisbill_str)转换回字符串。

完整的代码是:

thisbill = String(thisbill_str).replace(",", "")
于 2013-09-18T01:25:12.910 回答
2
thisbill_str = thisbill; 

您应该在这里转换为字符串。thisbill_str仍然是一个数字,所以它没有替换方法。

thisbill_str = thisbill + '';
于 2013-09-18T02:06:53.940 回答
1

TypeError: thisbill_str.replace is not a function

thisbill_str不能强制转换为 String 对象,因此它没有该replace方法。

值是否为thisbill_str空?

于 2013-09-18T01:22:02.530 回答