숫자 123 과 문자열 "123"은 다릅니다.
숫자 123에 1을 더하면 124 가 되지만, 문자열 "123"에 1을 더하면 "1231"이 되어 버립니다.
따라서 문자열로 된 숫자가 숫자 구실을 하도록 하려면, 그 문자열을 숫자로 변환해 주어야 합니다.
소스 파일명: Foo.java
전화 번호나 주민등록번호 등도 실은 숫자가 아니라 문자열입니다. 왜냐하면 전화번호에 1을 더하거나 하는 사칙연산을 해 봐도 아무 의미가 없기 때문입니다. 물론 더해지지도 않겠지요.
숫자 123에 1을 더하면 124 가 되지만, 문자열 "123"에 1을 더하면 "1231"이 되어 버립니다.
따라서 문자열로 된 숫자가 숫자 구실을 하도록 하려면, 그 문자열을 숫자로 변환해 주어야 합니다.
문자로 된 숫자를, 진짜 숫자로 변환 예제
소스 파일명: Foo.java
public class Foo {
public static void main(String args[]) {
String s = "1000"; // 문자열 정의
int i = Integer.parseInt(s) + 1; // 32비트 정수로 그리고 1을 더하기
System.out.println(i); // 출력: 1001
long L = Long.parseLong(s) + 1; // 64비트 정수로 그리고 1을 더하기
System.out.println(L); // 출력: 1001
float f = Float.parseFloat(s) + 1.0F; // 32비트 실수로 그리고 1을 더하기
System.out.println(f); // 출력: 1001.0
double d = Double.parseDouble(s) + 1.0; // 64비트 실수로 그리고 1을 더하기
System.out.println(d); // 출력: 1001.0
}
}
public static void main(String args[]) {
String s = "1000"; // 문자열 정의
int i = Integer.parseInt(s) + 1; // 32비트 정수로 그리고 1을 더하기
System.out.println(i); // 출력: 1001
long L = Long.parseLong(s) + 1; // 64비트 정수로 그리고 1을 더하기
System.out.println(L); // 출력: 1001
float f = Float.parseFloat(s) + 1.0F; // 32비트 실수로 그리고 1을 더하기
System.out.println(f); // 출력: 1001.0
double d = Double.parseDouble(s) + 1.0; // 64비트 실수로 그리고 1을 더하기
System.out.println(d); // 출력: 1001.0
}
}
전화 번호나 주민등록번호 등도 실은 숫자가 아니라 문자열입니다. 왜냐하면 전화번호에 1을 더하거나 하는 사칙연산을 해 봐도 아무 의미가 없기 때문입니다. 물론 더해지지도 않겠지요.