# 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 ```
관련 강의로 이동

코드: java 1.8

public class Casting { public static void main(String[] args) { // 변수 생성 double tall = 176.4; double weight = 82.34; /* 1. 실수형 변수를 정수로 캐스팅하여 출력하시오. */ System.out.printf("신장: %dcm\n", tall); System.out.printf("체중: %dkg\n", weight); } }

입력

정답이 궁금하다면? 코드를 제출해보세요!