반응형
- valueOf() 하나로 대부분의 형변환을 해결할 수 있음
- 객체(Wrapper 클래스)로 다룰 거면 valueOf(), 기본형(int, double)이 필요하면 parseXxx()
- 문자 → 숫자 : parseInt(), parseDouble(), parseFloat(), valueOf 사용
- 숫자 → 문자 : String.valueOf(), toString() 사용
- 정수 ↔ 실수 : (int), (double), (float) 캐스팅
완전 짱 큰 숫자!
이건 신기해서 찾았음
그냥 이런게 있구나~ 생각만 하면 괜찮을 듯 하네욤
BigInteger
import java.math.BigInteger;
public class Solution {
public static void solution(String input) {
// 입력값이 매우 크기 때문에 BigInteger를 사용
BigInteger bigNum = new BigInteger(input);
// BigInteger로 처리한 후, 필요한 연산 수행
System.out.println(bigNum);
}
public static void main(String[] args) {
String input = "78720646226947352489"; // 예시 입력
solution(input);
}
}
문자 → 숫자
String num = "10";
// String → Int
int i_num = Integer.parseInt(num);
int i_num2 = Integer.valueOf(num);
// String → Double, Float
double d_num = Double.parseDouble(num);
float f_num = Float.parseFloat(num);
// String → Long, Short
long l_num = Long.parseLong(num);
short s_num = Short.parseShort(num);
charAt을 통한 문자 하나씩 꺼내서 숫자로 변형해서 배열에 하나씩 넣는 경우
이게 가끔 문제가 문자열로 된 숫자를 다시 배열에 넣어서 하는 경우
"2345" 이런거 그럴 때 숫자로 바꿔서 사용해야하는데 처음에 어떻게 하는지 몰라 당황 ㅠ
'0'이 왜 필요한가?
for(int i = 0; i < n; i++){
answer[i] = str.charAt(str.length() - 1 - i) - '0';
}
str.charAt()은 char을 반환하므로, 숫자로 변환하려면 '0'을 빼야 함!
문자 '0'의 ASCII 값은 48이므로, 이를 빼주면 숫자로 변환 가능!
ASCII 코드 값
문자 '0' '1' '2' '3'
| ASCII 값 | 48 | 49 | 50 | 51 |
✔️ '5' - '0' → 53 - 48 = 5
✔️ '4' - '0' → 52 - 48 = 4
✔️ '3' - '0' → 51 - 48 = 3
즉, '0'을 빼주면 char가 int로 변환되면서 숫자 값이 됨! 🚀
🔹 숫자 → 문자
int num = 10;
double d_num = 10.1f;
// Int → String
String s_num1 = String.valueOf(num);
String s_num2 = Integer.toString(num);
String str = Long.toString(num);
// Double, Float → String
String s_num3 = String.valueOf(d_num);
String s_num4 = Double.toString(d_num);
🔹 정수 ↔ 실수
이거 가끔 f 까먹는데 꼭 붙여야함!
double d_num = 10.11;
float f_num = 10.111f;
int i_num = 10;
// 실수 → 정수 (소수점 버림)
int intNum1 = (int) d_num;
int intNum2 = (int) f_num;
// 정수 → 실수
double doubleNum = (double) i_num;
float floatNum = (float) i_num;
반응형
'코테' 카테고리의 다른 글
| (코테) [Java] Heap (1) | 2025.05.15 |
|---|---|
| (코테) [Java] Deque (0) | 2025.05.15 |
| (코테) [Java] Queue (0) | 2025.05.15 |
| (코테) [Java] Stack (0) | 2025.05.15 |
| (코테) [Java] 배열 생성 (0) | 2025.05.13 |