This week's book giveaway is in the Testing forum.We're giving away four copies of The Way of the Web Tester: A Beginner's Guide to Automating Tests and have Jonathan Rasmusson on-line!See this thread for details.
Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!

# Char into Integer

Manuel Diaz
Ranch Hand
Posts: 79
Hi, I have a variable "c" of type char, I need to convert that variable to an integer value. How can I do this?.

miguel lisboa
Ranch Hand
Posts: 1281

but then last two lines left me quite perplexed...

Edwin Dalorzo
Ranch Hand
Posts: 961
char is assignable to int

As simple as that.

miguel lisboa
Ranch Hand
Posts: 1281
ok, that's exactly what i did, but my Q remains: what means the output beeing 55?

K Riaz
Ranch Hand
Posts: 375
ASCII value.

Layne Lund
Ranch Hand
Posts: 3061
Originally posted by miguel lisboa:
ok, that's exactly what i did, but my Q remains: what means the output beeing 55?

This is the Unicode value for whatever character was stored in the variable. For the characters in the English alphabet, the Unicode value is the same as the ASCII value.

Layne
[ May 15, 2005: Message edited by: Layne Lund ]

Layne Lund
Ranch Hand
Posts: 3061
Originally posted by Manuel Diaz:
Hi, I have a variable "c" of type char, I need to convert that variable to an integer value. How can I do this?.

As you can see above, it depends on what you mean by "the integer value". Do you want the Unicode value? Or do you want the numerical value corresponding to the char (i.e. 0 for '0', 1 for '1', etc.). As miguel's example shows, you can use the String and Integer classes to convert to the numerical value. However, there is a shorter way. Since char is internal stored as an integral value, you can use arithmetic operations. It also helps that all the digit characters are stored in order. This means that you can do something like this:

This takes the Unicode value of the input character and subtracts the Unicode value for the character '0'. It should be obvious that this will produce the correct numerical value for any digit character. If you really want to use this method, you should also add error handling code to make sure the char is REALLY a digit (and not a letter or punctuation or something lese).

Layne

Manuel Diaz
Ranch Hand
Posts: 79

http://www.coderanch.com/t/399682/java/java/do
My post

Joel McNary
Bartender
Posts: 1840
The solution is quite simple: