0.1f == 0.1에서 0.1f가 double 타입으로 변환되면 0.1 == 0.1이 될거 같지만 되지않고 false가 나온다

부동 소수점 방식을 사용하는 실수 타입은 0.1을 정확히 표현할 수 없고

float 타입과 double 타입의 정밀도 차이가 있다

해결책으로 float 타입으로 강제 타입 변환 후 비교 연산을 수행하면 된다

0.1f == (float) 0.1 // true
반응형

+ Recent posts