.toLowerCase not working, replacement function?

JavascriptStringLowercase

Javascript Problem Overview


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?

Javascript Solutions


Solution 1 - Javascript

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 - Javascript

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 - Javascript

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 - Javascript

var ans = 334 + '';
var temp = ans.toLowerCase();
alert(temp);

Solution 5 - Javascript

It is a number, not a string. Numbers don't have a toLowerCase() function because numbers do not have case in the first place.

To make the function run without error, run it on a string.

var ans = "334";

Of course, the output will be the same as the input since, as mentioned, numbers don't have case in the first place.

Solution 6 - Javascript

const myvar = 222;
const tempVar = myvar.toString().toLowerCase();
alert(tempVar);

Please use the following code because toLowerCase(); is applied on a string so first, you need to convert it into a string by using toString() method

Solution 7 - Javascript

You can use this too.

function strtolower(value){

 return ("" +  value).toLowerCase();
}

var ans=strtolower( 334); 

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLucasView Question on Stackoverflow
Solution 1 - JavascriptspenderView Answer on Stackoverflow
Solution 2 - JavascriptDavid GView Answer on Stackoverflow
Solution 3 - JavascriptGuffaView Answer on Stackoverflow
Solution 4 - JavascriptJoe CoderView Answer on Stackoverflow
Solution 5 - JavascriptQuentinView Answer on Stackoverflow
Solution 6 - JavascriptForce BoltView Answer on Stackoverflow
Solution 7 - JavascriptThe conciseView Answer on Stackoverflow