java

형변환 문제점

말없는채플린씨 2010. 5. 19. 15:27

if(fdmjung.gaip_perd.equals("1")){
   fdmjung.jung_ija = (long)((fdmjung.jung_won * fdmjung.ju_ija)+0.5);
  }else if(fdmjung.gaip_perd.equals("2")){
   fdmjung.jung_ija = (long)(((fdmjung.jung_won * fdmjung.ju_ija)+0.5)/2.0);
  }else if (fdmjung.gaip_perd.equals("3")){
   fdmjung.jung_ija = (long)(((fdmjung.jung_won * fdmjung.ju_ija)+0.5)*2.0);
  }

 

 

형변환 문제이다 컴파일시 에러가 자꾸 나왔다

 

fdmjung.jung_ija = (long)((fdmjung.jung_won * fdmjung.ju_ija)+0.5)/2.0;

문제는 /2.0의 값도 long으로 형변환을 해줘야 한다는 사실이다.

 

자료형을 나누었을 때 나오는 값을 잘 따져보고 꼭 형변환을 맞춰줘야 한다

 

꼭 상기할것...