NaN을 확인하는 방법

조회수 36236회

float('nan')이 에러를 내질 않고 float타입 nan을 return해서 이 값으로 뭘 처리하려고 하면 다 이상한 결과가 뜹니다.

조건문으로 'nan'을 확인해주려고 하는데 어떻게 해야 될까요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    1. math.isnan() - 2.6이상

    math.isnan()은 float이 NaN인지 아닌지 확인해 줍니다.

    import math
    x=float('nan')
    math.isnan(x)
    

    2. numpy.isnan(float) - 2.5이상

    math.isnan()과 동일하게 float이 NaN인지 아닌지 확인해 줍니다.

    import numpy
    x=float('nan')
    numpy.isnan(x)
    

    3. 그 미만이라면 - 사용자가 직접 정의

    IEEE standard에 따르면 NaN valueNaN value끼리 비교하면 항상 false라고 합니다. 이를 이용해서 함수를 정의하면

    def isNaN(num):
        return num != num
    x=float('nan')
    isNaN(x)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)