해당 글에서는 문자열을 정수형으로 변환하는 과정을 이해하며 추가로 정수형이 부호(+, -)를 포함하여 반환을 받을지 여부에 따라 출력하는 방법에 대해서 각각 방식을 이해합니다.
1) 부호(+, -) 포함 숫자로 변환 방법: Integer.parseInt()
💡 부호(+, -)가 존재하는 문자열의 경우 정수형으로 변환하는 경우 Integer.parse()를 사용하면 부호를 포함하여 반환받을 수 있습니다.
/*
* String to Integer : 오토 언박싱으로 즉시 int 타입으로 반환 받습니다.
* 부호가 존재하는 문자열을 Integer.parseInt()로 변환하였을 시 "부호"는 유지가 됩니다
*/
String s1 = "-1234";
String s2 = "+1234";
int minusInt = Integer.parseInt(s1); // -1234
int plusInt = Integer.parseInt(s2); // +1234
2) 부호(+, -) 제외 숫자로 변환 방법 : Math.abs()
💡 부호(+, -)가 존재하는 문자열의 경우 정수형으로 변환하는 경우 Math.abs()를 사용하면 부호를 제외하고 반환 받을 수 있습니다.
/*
* int to int : 부호가 존재하는 int 타입을 Math.abs() 함수를 사용하면 "부호"는 유지되지 않습니다.
*/
int i1 = +12000;
int i2 = -12000;
int absPlusInt = Math.abs(i1); // 12000
int absMinusInt = Math.abs(i2); // 12000
/*
* String to Integer : 오토 언박싱으로 즉시 int 타입으로 반환 받습니다.
* 부호가 존재하는 문자열을 Math.abs()로 변환하였을 시 "부호"는 유지되지 않습니다.
*/
String s3 = "+12000";
String s4 = "-12000";
int absPlusInt2 = Math.abs(Integer.parseInt(s3)); // 12000
int absMinusInt2 = Math.abs(Integer.parseInt(s4)); // 12000