.toLowerCase not working, replacement function?
The .toLowerCase
method is giving me an error when I try to use it on numbers. This is what I have:
var ans = 334;
var temp = ans.toLowerCase();
alert(temp);
And then it gives me this error:
'undefined' is not a function (evaluating 'ans.toLowerCase()')
I don't know where I got this wrong. I always thought that numbers can also be parsed, with no change in result (maybe that's where I stuffed up).
But if that's not the error, can someone write a custom makeLowerCase
function, to make the string lower case, perhaps using regex or something?
Solution 1:
The .toLowerCase()
function only exists on strings.
You can call .toString()
on anything in JavaScript to get a string representation.
Putting this all together:
var ans = 334;
var temp = ans.toString().toLowerCase();
alert(temp);
Solution 2:
Numbers inherit from the Number
constructor which doesn't have the .toLowerCase
method. You can look it up as a matter of fact:
"toLowerCase" in Number.prototype; // false
Solution 3:
It's not an error. Javascript will gladly convert a number to a string when a string is expected (for example parseInt(42)
), but in this case there is nothing that expect the number to be a string.
Here's a makeLowerCase
function. :)
function makeLowerCase(value) {
return value.toString().toLowerCase();
}
Solution 4:
var ans = 334 + '';
var temp = ans.toLowerCase();
alert(temp);