Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"replace is not a function"

I'm trying to remove the comma from a number.

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

This javascript code is giving me an error:

TypeError: thisbill_str.replace is not a function

It doesn't matter if I give it the 'g' and 'i' flags. It only does it if the string does NOT already have a comma in it, i.e., if the string is '515.00'. If the string were '5,515.00', then it works fine. I don't see anything in the documentation that tells me that the string to be replaced has to actually exist. What am I missing, and what is a better way to do this?

like image 838
McAuley Avatar asked Dec 20 '22 00:12

McAuley


1 Answers

It is most likely caused by thisbill_str being something other than a String. Maybe you have some other code somewhere that automatically converts thisbill_str to a Number?

You can convert back to a string using String(thisbill_str).

The complete code would be:

thisbill = String(thisbill_str).replace(",", "")
like image 60
nkron Avatar answered Jan 03 '23 23:01

nkron