Gambai
Gambai

Reputation: 690

convert number to letter javascript

I'm trying to convert numbers into letters. I'm making an array of divs that either need a number or a number and letter. so 1-3 are just 1-3. but 4-13 need to be a/4, b/5, c6 and so on. is there a way I can converts these numbers into letter easily. maybe changing the ascii values by a set amount?

     for(var i = 1; i < 33; i++){
    if( i < 4 || (i > 13 && i < 20) || i > 29){
        $('#teeth-diagram').append("<div class='tooth' id='" + i + "'>&nbsp;</div>");
    }else{
        $('#teeth-diagram').append("<div class='tooth' id='" + Letter goes here + "/" + i + "'>&nbsp;</div>");
    }
}

Upvotes: 24

Views: 50304

Answers (3)

Dheeraj kumar Rao
Dheeraj kumar Rao

Reputation: 10222

You can use the String.fromCharCode(x) function for this, you just need to pass the proper index (eg: 97 = a, 98 = b)

const numberA = 1; // 1 = A, 2 = B,...., 26 = Z
const numberB = 2; 


//lowercase (start in CharCode 97)
console.log( String.fromCharCode(96 + numberA) ); //a
console.log( String.fromCharCode(96 + numberB) ); //b
   

console.log("------------");


//uppercase (start in CharCode 65)
console.log( String.fromCharCode(64 + numberA) ); //A
console.log( String.fromCharCode(64 + numberB) ); //B    

Upvotes: 7

Fisch
Fisch

Reputation: 3815

since 97 is the ascii value for 'a', and your value for 'a' is 3, you need to do this to get the value of the integer converted to a character:

if(i>=3){
    String.fromCharCode(94 + i);
}

Upvotes: 57

Lukas_Skywalker
Lukas_Skywalker

Reputation: 2060

Yes, you can. Use var letter = String.fromCharCode(number); To get a lowercase a, the number would be 97, b would be 98 and so forth. For uppercase A 65, B would be 66 and so forth. See this JSFiddle for an example

Upvotes: 29

Related Questions