# printf() - 캐스팅, 실수를 정수로
#### printf() 기본 출력 형식
printf() 메소드의 출력형식을 정리하면 아래와 같습니다.
- <kbd>%d</kbd> - 정수(int)
- <kbd>%f</kbd> - 실수(double)
- <kbd>%s</kbd> - 문자열(String)
#### 출력 형식이 다른 경우
삽입하려는 값과 출력 형식의 타입이 불일치하는 경우, 에러가 발생합니다.
```
// 변수 생성
double pi = 3.14;
// ERROR: pi의 값은 실수인 3.14, 그런데 정수 형식 %d로 출력하려 함!
System.out.printf("%d", pi);
```
#### 해결 법
위 코드를 정상 동작하기 위해서는 어떻게 해야할까요? 삽입 값과 출력 형식을 같게 맞추면 됩니다.
```
// A - 출력 형식을 변경!
System.out.printf("%f", pi);
// B - 변수 값을 캐스팅,
System.out.printf("%d", (int) pi);
// = System.out.printf("%d", (int) 3.14);
// = System.out.printf("%d", 3);
```
#### 캐스팅, 실수를 정수로 강제 변환
캐스팅이란, 타입을 강제 변환하는 문법입니다. 실수는 정수로 캐스팅 가능합니다.
```
// 실수 10.4를 정수(int)로 캐스팅, 소수점 이하 값이 버려짐.
int a = (int) 10.4; // a = 10;
```
## 문제
주어진 코드는 에러가 발생한다. printf()의 출력 형식과 값의 타입이 다르기 때문이다. 캐스팅(casting)을 사용하여 에러를 해결하고, 출력 예와 같은 결과를 얻으시오.
## 출력 예
```
신장: 176cm
체중: 82kg
```