Wei Zhang
Wei Zhang

Reputation: 35

Convert string of character and number into integer?

I want to convert this string "F1" into an integer 1.

For example

"F1" ===> 1
"F2" ===> 2
"F3" ===> 3

So far, this is what I've done

parseLevel: function(level) {
    var levels = {
        "F1": 1,
        "F2": 2
    };
    return levels[level];
}

Here's the function

parseLevel: function (level) {
  return parseInt(level, 10);
}

I'm getting an error says it's NaN

Upvotes: 1

Views: 969

Answers (2)

Sharp Dev
Sharp Dev

Reputation: 1070

Here is an example of how you could parse any string and only use its digits. to parse an integer.

let s = "ajs382bop";//can be any string it will strip all non digits
function stripAndReturnNumber(s){
    return parseInt(s.replace(/\D/g, ""));
    //This will replace all non digits with nothing and leave all digits remaining.
    //Then it will return the resulting integer.
}
console.log(stripAndReturnNumber(s));//382

Upvotes: 4

Nikhil Devadiga
Nikhil Devadiga

Reputation: 468

Since the string you pass has a leading F in it; parseInt can't figure out what integer F1 could be so just strip the F of the string.

parseLevel: function (level) {
  return parseInt(level.slice(1), 10);
}

Upvotes: 1

Related Questions