Chapter2-5 변수형변환 _&A

2011. 9. 20. 05:55

현 블로그는 모바일 환경이 아닌 PC환경에 최적화 되어있습니다.

 Mir의 운영환경

public class Test2_5{

public static void main(String[] args){

float f = 12.36256f


  변수의형태1 i = (변수의형태2)f

System.out.println(i);

}

}





1. i의 출력값이 12일때 형태1과 2에 들어갈 형태를 각각 적으세요.

   -약간의 말장난이였는데 형태 1과 2는 동일하다.

    정수형 변수형태를 아무거나 동일하게만 적으면 정답이다.


2. 변수 i의 출력값이 12.3이 되도록 만드세요.

   -실수가 나올려면 일단 변수의형태1자리에는 float나 double이 와야된다.

    f가 float니 그냥 float로 정하겠다.

    12.3뒤에 0.06256을 뺄수도 있겠지만... (정말 이렇게 하신분 있으면.. 너무 단순하..;;)

    우리는 형변환으로 12.3을 만들어보자.

    우선은 앞에서부터 3번째숫자까지만 있으면 되닌깐 뒤의 나머지 소숫점을 없애버리자

    (int)(f*10); 이렇게 공식을 적으면 123.6256에서 정수형으로

    이제 실수형 10f로 한번더 나눠주면 된다.

    식을 완성하면  (int)(f*10)/10f; 이렇게 될것이다.

    (int)(f*10)의 값은 int형이기 때문에 float와 연산을 하면 자동으로

    범위가 더 넓은 float형으로 변한다.



3. 변수 f를 소수 둘째 자리에서 반올림하여 i의 출력값이 12.4가 되도록 만드세요.

   - 2번문제와 연관이된다. 

     아주 간단하다 위식을 쓰기전에 0.05f를 f값에 더해주면 끝인것이다.

     (int)((f+0.05f)*100)/100f;

     float형의 값을 넣을려면 뒤에 f를 붙히는걸 까먹지 말자!


     하지만 위의식은 너무 복잡해 보인다.

     그래서 태어난것이 반올림을 해주는 메소드(함수)이다.

     Math.round(f*10)/10f;

     round메서드는 매개변수로 받은 값을 소숫점 첫째자리에서 반올림을 하고

     그 결과를 정수로 돌려주는 메서드이다.

     소숫점 첫째자리에서 반올림을 해주기때문에 반올림할 위치를

     소숫점 첫째자리로 옮겨줘야 한다.

     우리는 소수점 둘째자리에서 반올림을 해야 하기때문에 10을 곱해주어

     둘째 자리의 소숫점을 첫째자리로 옮기면 된다.

     

     



------------------------------------------------------------------------------------
본 블로그의 글을 퍼가실때 꼬릿말, 퍼가시는곳 주소를 꼭 남겨주세요. 
출처 꼭 기재해주시고요. 상업적인 용도의 이용은 절대 금합니다.
혹 프린트를 할 경우 블로그주소와 함께 프린트 해주세요.
허락을 맡지 않고 무단도용을 할경우 법적인 제제가 있을수도 있습니다. 
(전 분명히 경고했습니다. 합의같은거 안합니다.)
그리고 혹 무단도용한것을 보신분은 신고해주시면 사례금 챙겨 드리겠습니다.
-----------------------------------------------------------------------------------

'Java > Java_A' 카테고리의 다른 글

Chapter3-2 IF문2 _&A  (0) 2011.09.21
Chapter3-1 IF문 _&A  (0) 2011.09.21
Chapter2-4 비교,논리연산자 _&A  (1) 2011.09.20
Chapter2-3 증감연산자2 _&A  (0) 2011.09.20
Chapter2-2 증감연산자 _&A  (0) 2011.09.20

+ Recent posts