| Author |
Converting string to int
|
sridhar row
Ranch Hand
Joined: Jan 16, 2008
Posts: 162
|
|
If I have a String containing "0123", how do I convert it to an integer variable? I've tried all kinds: Integer.valueOf("0123"), int i = Integer.parseInt("0123"), int a = new Integer("0123").intValue(); etc permutations but always end up with a int value 123 instead of 0123 What's the trick? [ February 10, 2008: Message edited by: sridhar row ]
|
 |
Garrett Rowe
Ranch Hand
Joined: Jan 17, 2006
Posts: 1295
|
|
There is no "trick". The leading zero is not significant, and is not part of the textual representation of the int 123. If it is necessary to display a leading zero, you can do so with a NumberFormat object, or using String.format(). [ February 10, 2008: Message edited by: Garrett Rowe ]
|
Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them. - Laurence J. Peter
|
 |
Rob Spoor
Sheriff
Joined: Oct 27, 2005
Posts: 19216
|
|
Not necessarily true. The leading 0 could mean that the number should be octal instead of decimal, just as 0x is the prefix for hexidecimal. If that is the case, use Integer.parseInt("0123", 8). The result would be 83. Integer.parseInt("0123") is similar to Integer.parseInt("0123", 10).
|
SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
|
 |
 |
|
|
subject: Converting string to int
|
|
|