Java/Java 문법

[Java] Double to Long 형 변환

민돌v 2022. 12. 27. 14:49

 

아래의 3가지 방법이 있는데,

  • 다른 타입으로 명시적으로 변환하는 캐스팅 (long) a 가 별로 안좋을거라 생각했는데,
  • 박싱 후 언방식하는 방식이 더 안좋을 거 같다는 생각이 들었슴당..

 

생각난김에 짧은 기록 ㅎㅎ

@Test
void test() {

    double a = 12.23213;
    
    //명시적 형변환
    assertThat((long) a).isEqualTo(12L);
    assertThat(1 / (long) a).isEqualTo(1 / 12L);
	
    //박싱 후 언방식 - 비추
    assertThat(Double.valueOf(a).longValue()).isEqualTo(12L);

    //Math 함수의 사용
    assertThat(Math.round(a)).isEqualTo(12L);
}