STATUS_FLOAT_INEXACT_RESULT, 당신의 코드 정확도를 100% 만드는 결정적 한 수

안녕하세요, 코딩의 세계를 탐험하시는 여러분! 혹시 프로그램을 개발하다가 예상치 못한 숫자 계산 오류 때문에 당황했던 경험 있으신가요? 특히 부동소수점 연산은 눈에 보이지 않는 미세한 오차로 개발자들을 종종 괴롭히곤 합니다.

저도 처음 STATUS_FLOAT_INEXACT_RESULT라는 알쏭달쏭한 에러 코드를 마주했을 때, 이게 단순한 경고인지 아니면 심각한 버그의 전조인지 몰라 한참을 헤맸던 기억이 생생하네요. 사소해 보이는 이 오류가 때로는 예상치 못한 시스템 불안정으로 이어지거나, 아주 중요한 계산 결과에 치명적인 영향을 줄 수도 있답니다.

도대체 이 코드가 의미하는 바는 무엇이고, 우리 프로그램에 어떤 영향을 미치며, 어떻게 대처해야 할까요? 지금부터 저의 실제 경험과 노하우를 녹여내어, 이 골치 아픈 부동소수점 오류에 대해 여러분의 궁금증을 확실히 풀어드릴게요!

부동소수점 오차, 작은 균열이 시스템을 무너뜨린다?

탑동 STATUS_FLOAT_INEXACT_RESULT - 3` exactly. The atmosphere is one of thoughtful problem-solving and expertise, with subtle visual cu...

예상치 못한 숫자, 그 뒤에 숨겨진 진실

코딩을 하다 보면 가끔 ‘어라? 내가 예상한 숫자가 아닌데?’ 싶은 순간이 찾아올 때가 있습니다. 특히 소수점 계산, 즉 부동소수점 연산을 다룰 때 이런 경험이 유독 많은데요.

이럴 때 만나게 되는 대표적인 상황 중 하나가 바로 미세한 오차로 인해 발생하는 ‘정확하지 않은 결과(Inexact Result)’ 오류입니다. 저도 처음에는 단순히 오차범위 내의 사소한 문제겠거니 하고 대수롭지 않게 생각했던 적이 있어요. 하지만 개발자로서 경험이 쌓일수록 이런 작은 오차가 예상치 못한 시스템 크래시나 금융 계산 오류 같은 치명적인 문제로 이어질 수 있다는 걸 깨달았습니다.

마치 멀쩡해 보이는 다리에 눈에 보이지 않는 미세한 균열이 생겨나 결국 큰 사고를 유발하는 것과 같아요. 실제로 제가 담당했던 프로젝트 중에서도 소수점 셋째 자리까지 계산해야 하는 재고 관리 시스템에서 이 문제 때문에 재고 수량이 미묘하게 맞지 않아 담당 부서가 밤샘 조사를 해야 했던 아찔한 경험도 있답니다.

단순히 숫자가 틀린 정도를 넘어, 비즈니스 로직 전체에 영향을 줄 수 있는 아주 중요한 문제라는 거죠.

왜 숫자가 정확하게 떨어지지 않을까? 부동소수점의 숙명

그렇다면 왜 컴퓨터는 소수점 계산에서 이렇게 ‘정확하지 않은 결과’를 만들어낼까요? 답은 컴퓨터가 숫자를 표현하는 방식의 한계에서 찾을 수 있습니다. 컴퓨터는 기본적으로 0 과 1 의 이진수로 모든 정보를 처리하는데, 이진수로 소수를 표현하는 과정에서 모든 실수를 정확하게 표현하기는 어렵습니다.

예를 들어, 10 진수 0.1 은 이진수로 표현하면 무한소수가 되어버려요. 우리가 1/3 을 0.3333… 으로 완벽하게 표현할 수 없듯이, 컴퓨터도 0.1 같은 특정 소수를 유한한 비트 공간 안에 완벽하게 담아낼 수 없습니다.

이 과정에서 필연적으로 ‘근삿값’을 사용하게 되고, 이때 발생하는 아주 미세한 차이가 바로 ‘정확하지 않은 결과’의 근본적인 원인이 되는 겁니다. 저도 처음엔 ‘아니, 똑같은 0.1 인데 왜 다르다는 거야?’라며 답답해했지만, 이진수의 세계를 이해하고 나니 이 문제가 얼마나 본질적인지 깨달았죠.

특히 여러 번의 연산이 중첩될수록 이 작은 오차는 점점 더 누적되어 최종 결과에 심각한 영향을 미칠 수 있으니, 절대 간과해서는 안 될 부분입니다.

작은 오차가 부르는 큰 나비효과: 시스템 안정성 위협

예상치 못한 버그와 시스템 불안정

‘정확하지 않은 결과’는 단순히 계산값이 조금 틀리는 것을 넘어, 프로그램의 안정성 자체를 위협할 수 있습니다. 예를 들어, 특정 조건이 정확히 0.0 과 같아야만 실행되는 로직이 있다고 가정해볼까요? 부동소수점 오차 때문에 0.0 이 아닌 0.000000000000001 같은 아주 작은 값이 되어버리면, 해당 로직은 영원히 실행되지 않거나, 전혀 예상치 못한 시점에 실행되어 심각한 버그를 유발할 수 있습니다.

제가 경험했던 사례 중에는 시뮬레이션 프로그램에서 물리 연산을 할 때, 오브젝트의 위치가 미세한 오차 때문에 충돌 판정을 제대로 받지 못하고 지면을 뚫고 지나가 버리는 황당한 경우가 있었어요. 사용자는 분명히 오브젝트가 멈춰야 할 곳에서 멈추지 않고, 마치 유령처럼 벽을 통과하는 모습을 보고 ‘버그 아니냐’는 문의를 쏟아냈죠.

이처럼 부동소수점 오차는 때때로 프로그램을 완전히 오작동하게 만들고, 심각하게는 시스템 전체를 불안정하게 만들어 예기치 않은 다운을 초래할 수도 있습니다.

정밀한 계산이 필요한 분야에서의 치명적인 결과

특히 금융, 과학, 공학 분야처럼 정밀한 계산이 생명인 영역에서는 이 ‘정확하지 않은 결과’가 단순한 경고를 넘어 치명적인 결과를 가져올 수 있습니다. 주식 거래 시스템에서 소수점 이하 몇 자리가 틀린다면 수백, 수천억 원의 오차가 발생할 수 있고, 미사일 궤도 계산이나 의료기기 제어 프로그램에서 오차가 발생한다면 인명 피해로 이어질 수도 있는 것이죠.

제가 예전에 참여했던 프로젝트에서는 로봇 팔의 정밀한 움직임을 제어해야 했는데, 부동소수점 오차 때문에 로봇 팔이 미세하게 떨리거나 예상 경로를 벗어나 불량을 만드는 경우가 종종 발생했습니다. 처음에는 하드웨어 문제인가 싶어 장비를 교체하기도 했지만, 결국 소프트웨어의 부동소수점 연산에서 발생하는 오차 때문임을 뒤늦게 알게 되었죠.

이런 경험을 통해 저는 부동소수점 오차가 단순한 개발상의 경고가 아니라, 비즈니스와 안전에 직접적인 영향을 미치는 심각한 문제라는 것을 뼈저리게 느꼈습니다.

Advertisement

부동소수점 오차, 미리 방지하고 현명하게 대처하기

데이터 타입 선택부터 신중하게

그렇다면 이런 골치 아픈 부동소수점 오차에 우리는 어떻게 대처해야 할까요? 가장 기본적인 방법은 바로 데이터 타입을 신중하게 선택하는 것입니다. C/C++ 같은 언어에서 와 은 부동소수점 수를 표현하지만, 이 보다 약 두 배 더 많은 정밀도를 제공합니다.

따라서 정밀한 계산이 필요한 경우에는 을 사용하는 것이 기본입니다. 파이썬의 모듈이나 Java 의 클래스처럼 부동소수점 오차를 최소화하기 위해 고안된 특별한 자료형들도 있습니다. 이들은 내부적으로 10 진수 기반의 연산을 수행하여 이진수 변환에서 오는 오차를 줄여주죠.

제가 개발 초기에는 무조건 으로 통일해서 쓰다가 낭패를 본 적이 많았어요. 하지만 프로젝트의 요구사항과 정밀도 수준을 고려하여 적절한 데이터 타입을 선택하는 것이 얼마나 중요한지, 수많은 시행착오를 통해 깨달았습니다.

오차를 허용하는 비교와 임계값 설정

부동소수점 숫자를 비교할 때 와 같은 직접적인 등호 비교는 피해야 합니다. 미세한 오차 때문에 논리적으로 같은 값이라도 컴퓨터는 다르다고 판단할 수 있기 때문입니다. 대신 과 같이 아주 작은 임계값()을 사용하여 두 숫자의 차이가 특정 허용 범위 내에 있는지 확인하는 것이 안전합니다.

예를 들어, 값을 0.000001 정도로 설정하고, 두 숫자의 차이가 이 값보다 작으면 같다고 판단하는 방식이죠. 저도 처음에는 이런 방식이 번거롭게 느껴졌지만, 직접 사용해보니 예상치 못한 버그를 줄이는 데 결정적인 역할을 했습니다. 이런 방식으로 중요한 조건문이나 반복문의 종료 조건을 처리하면, 프로그램이 훨씬 더 견고하고 안정적으로 동작하는 것을 느낄 수 있을 거예요.

오류 코드/상태 설명 발생 시나리오 예시 일반적인 대처 방안
STATUS_FLOAT_INEXACT_RESULT 부동소수점 연산 결과가 정확히 표현될 수 없어 근삿값으로 처리되었을 때 발생합니다.
  • 0.1 + 0.2 연산 결과가 0.3 이 아닌 0.30000000000000004 처럼 미세한 차이를 보일 때
  • 특정 숫자를 나누어 떨어지지 않는 경우 (예: 1.0 / 3.0)
  • double과 같은 고정밀도 자료형 사용
  • Decimal, BigDecimal과 같은 10 진수 기반 자료형 활용
  • 등호 비교 대신 오차 범위를 고려한 비교 ( 사용)
STATUS_FLOAT_OVERFLOW 부동소수점 연산 결과가 해당 자료형이 표현할 수 있는 최대값을 초과했을 때 발생합니다.
  • 매우 큰 숫자를 서로 곱하는 연산
  • 지수 함수 결과가 너무 커지는 경우
  • 사전 스케일링 (숫자를 연산 전에 줄이는 작업)
  • 더 큰 범위를 지원하는 자료형 사용 (예: long double)
  • 연산 순서 변경을 통해 중간 결과값 최소화
STATUS_FLOAT_UNDERFLOW 부동소수점 연산 결과가 해당 자료형이 표현할 수 있는 최소값보다 작아졌을 때 발생합니다. (0 에 매우 가까운 값)
  • 매우 작은 숫자를 서로 곱하는 연산
  • 로그 함수 결과가 너무 작아지는 경우
  • 사전 스케일링
  • 근사값을 0 으로 처리하는 로직 추가

개발자, 부동소수점의 함정에 빠지지 않는 노하우

탑동 STATUS_FLOAT_INEXACT_RESULT - Detailed illustration for blog section 1, informative visual, clean design

컴파일러와 환경 설정 활용하기

대부분의 컴파일러는 부동소수점 연산과 관련된 경고나 오류를 제어할 수 있는 옵션을 제공합니다. 예를 들어, 부동소수점 예외를 발생시키거나 특정 정밀도 모드를 설정하는 등의 기능을 활용할 수 있어요. 저도 개발 초기에는 이런 컴파일러 옵션을 무시하고 지나쳤지만, 프로젝트의 특성과 요구되는 정밀도에 따라 이러한 설정을 적극적으로 활용하는 것이 얼마나 중요한지 깨달았습니다.

예를 들어, 일부 과학 계산에서는 연산 속도보다 결과의 정확성이 훨씬 중요하기 때문에, 정밀도 모드를 높게 설정하여 잠재적인 오차 발생 가능성을 최소화해야 합니다. 반대로 실시간 그래픽 렌더링처럼 속도가 중요한 경우에는 정밀도를 약간 희생하더라도 빠른 연산이 우선될 수 있죠.

여러분의 프로젝트 상황에 맞춰 컴파일러 옵션을 꼼꼼히 살펴보는 습관을 들이면, 부동소수점 문제로 인한 골치를 훨씬 덜 수 있을 거예요.

테스트는 선택이 아닌 필수! 꼼꼼한 검증

아무리 완벽하게 코드를 작성하고 설정을 마쳤다 하더라도, 부동소수점 오차는 예측하기 어려운 변수와 환경에서 발생할 수 있습니다. 그래서 철저한 테스트는 부동소수점 문제를 찾아내고 해결하는 데 있어 무엇보다 중요합니다. 경계값 테스트, 다양한 입력값에 대한 테스트, 그리고 부동소수점 연산이 복잡하게 얽힌 시나리오 테스트 등을 수행해야 합니다.

저는 중요한 계산 로직이 포함된 모듈의 경우, 일반적인 단위 테스트 외에 특정 부동소수점 오차 시나리오를 가정한 별도의 테스트 케이스를 만들어 검증하곤 합니다. 예를 들어, 금융 시스템에서 환율 계산 로직을 개발할 때, 아주 작은 소수점 차이가 누적되어 최종 금액에 영향을 미치는지 확인하기 위해 다양한 환율 변동 시나리오를 직접 만들어 테스트했어요.

이런 꼼꼼한 테스트 과정이 없었다면, 아마 실제 서비스에서 엄청난 문제가 발생했을 겁니다. 테스트는 귀찮은 작업이 아니라, 프로그램을 더 튼튼하게 만드는 투자라는 점을 항상 명심해야 합니다.

Advertisement

미래를 위한 조언: 부동소수점 연산, 항상 의심하라!

습관적인 경각심으로 코드 품질 향상

개발자로서 제가 드릴 수 있는 가장 중요한 조언은 바로 ‘부동소수점 연산을 항상 의심하는 습관’을 가지라는 것입니다. 눈에 보이는 숫자가 전부가 아니라는 사실을 항상 인지하고, 혹시 모를 오차가 발생할 가능성은 없는지 끊임없이 질문해야 합니다. 특히 중요한 계산이나 비교 로직을 작성할 때는 한 번 더 멈춰 서서 ‘여기에 부동소수점 오차가 발생할 여지는 없는가?’라고 스스로에게 물어보는 것이 좋습니다.

이 작은 습관 하나가 나중에 큰 문제를 예방하는 데 결정적인 역할을 할 겁니다. 저도 한때는 빨리 코드를 완성하는 데 급급해서 이런 부분을 놓치곤 했지만, 여러 번의 ‘사고’를 겪으면서 이제는 부동소수점 연산 코드를 작성할 때면 무의식적으로 한 번 더 검토하는 습관이 생겼어요.

이러한 경각심은 단순히 오류를 줄이는 것을 넘어, 여러분의 코드 품질을 전반적으로 향상시키는 데 큰 도움이 될 것이라고 확신합니다.

끊임없는 학습과 정보 공유의 중요성

IT 기술은 빠르게 변화하고, 새로운 언어나 프레임워크가 등장하며 부동소수점 연산을 다루는 방식 또한 조금씩 발전하고 있습니다. 따라서 최신 기술 동향을 꾸준히 학습하고, 동료 개발자들과 경험을 공유하는 것이 중요합니다. 온라인 커뮤니티나 기술 블로그를 통해 다른 개발자들은 어떤 방식으로 부동소수점 문제를 해결하고 있는지 살펴보는 것도 좋은 방법이죠.

저도 혼자 끙끙 앓기보다는 스터디 그룹에서 이 문제에 대해 토론하거나, Stack Overflow 같은 해외 커뮤니티에서 다른 사람들의 해결책을 찾아보면서 많은 아이디어를 얻었습니다. 결국, 부동소수점 오차는 피할 수 없는 컴퓨터 과학의 본질적인 문제이지만, 우리가 어떻게 대처하느냐에 따라 그 영향력을 충분히 제어할 수 있습니다.

오늘 제가 공유해드린 경험과 노하우가 여러분의 코딩 생활에 작은 도움이 되기를 진심으로 바랍니다!

글을마치며

오늘은 부동소수점 오차라는, 어쩌면 작고 사소해 보일 수 있는 문제가 시스템 전체에 얼마나 큰 파장을 일으킬 수 있는지 제 경험을 빌려 자세히 이야기 나눠봤어요. 숫자는 우리 눈에 보이는 것 이상으로 복잡한 규칙과 한계를 가지고 있다는 점을 항상 기억해야 합니다. 제가 그랬던 것처럼, 여러분도 이 문제가 불러올 잠재적인 위험을 미리 인지하고 현명하게 대처한다면, 훨씬 더 견고하고 신뢰할 수 있는 프로그램을 만들 수 있을 거예요. 결국 개발자의 성장은 이런 문제들을 하나씩 극복해나가는 과정에서 이뤄진다고 믿습니다. 오늘의 이야기가 여러분의 개발 여정에 작은 등대 역할을 해주기를 바라며, 저는 다음에도 더 유익한 정보로 찾아올게요!

Advertisement

알아두면 쓸모 있는 정보

1. 정밀한 계산이 필요한 경우, float보다는 double 자료형을 사용하는 것이 좋습니다. doublefloat보다 약 두 배의 정밀도를 제공해요.

2. 금융 계산이나 아주 높은 정확성이 요구되는 시스템에서는 PythonDecimal 모듈이나 JavaBigDecimal 클래스처럼 10 진수 기반의 자료형을 고려하는 것이 안전합니다.

3. 부동소수점 숫자를 직접 등호(==)로 비교하는 것은 피해야 합니다. 미세한 오차 때문에 예상치 못한 결과가 나올 수 있어요.

4. 대신, 두 숫자의 차이가 아주 작은 임계값(epsilon)보다 작은지 확인하는 방식으로 비교해야 합니다. 예: abs(a - b)

5. 컴파일러가 제공하는 부동소수점 관련 옵션을 잘 활용하고, 다양한 시나리오에 대한 철저한 테스트를 통해 잠재적인 오류를 미리 발견하고 예방하는 습관을 들이는 것이 중요합니다.

중요 사항 정리

부동소수점 연산은 컴퓨터가 이진수로 소수를 표현하는 근본적인 한계 때문에 필연적으로 오차를 발생시킬 수밖에 없습니다. 이 ‘정확하지 않은 결과’는 단순히 계산값이 틀리는 것을 넘어, 프로그램의 논리적 오류, 시스템 불안정, 심지어 금융 손실이나 인명 피해로 이어질 수 있는 치명적인 결과를 초래할 수도 있어요. 저의 경험을 돌이켜보면, 처음에는 대수롭지 않게 여겼던 작은 오차들이 나중에는 밤샘 야근의 원인이 되거나, 심각한 고객 불만으로 이어진 경우가 많았습니다. 특히 금융, 과학, 공학 분야처럼 정밀성이 생명인 영역에서는 더욱 치명적이죠.

이러한 문제에 현명하게 대처하기 위해서는 몇 가지 중요한 원칙을 기억해야 합니다. 첫째, 데이터 타입을 신중하게 선택하고, 필요에 따라 double이나 Decimal, BigDecimal과 같은 고정밀도 자료형을 사용하는 것이 필수적입니다. 둘째, 부동소수점 숫자를 비교할 때는 직접적인 등호 비교 대신, 작은 임계값(epsilon)을 활용하여 오차 범위를 허용하는 비교 방식을 채택해야 합니다. 셋째, 컴파일러 옵션을 적극적으로 활용하고, 경계값 테스트를 포함한 철저한 테스트를 통해 잠재적인 오류를 미리 발견하고 수정하는 습관을 들이는 것이 중요합니다. 마지막으로, 가장 중요한 것은 모든 부동소수점 연산을 다룰 때 ‘혹시 오차가 발생할 가능성은 없는가?’라는 경각심을 항상 가지는 것입니다. 이러한 노력들이 모여 여러분의 코드를 더욱 견고하고 신뢰성 있게 만들 것이라고 확신합니다.

자주 묻는 질문 (FAQ) 📖

질문: STATUSFLOATINEXACTRESULT, 이 알쏭달쏭한 코드가 대체 무엇인가요?

답변: 저도 처음에 이 코드를 봤을 때 “이게 뭐지?” 하고 한참을 들여다봤던 기억이 나네요. STATUSFLOATINEXACTRESULT는 간단히 말해, 부동소수점 연산을 했는데 결과가 정확하게 표현될 수 없을 때 발생하는 경고 같은 거예요. 컴퓨터는 숫자를 이진수로 처리하는데, 0.1 같은 소수를 이진수로 바꾸면 무한 소수가 되는 경우가 많거든요.
우리도 1 을 3 으로 나누면 0.333… 이렇게 끝없이 이어지잖아요? 딱 떨어지지 않는 이 숫자를 컴퓨터가 유한한 공간에 담으려다 보니, 어쩔 수 없이 아주 미세한 오차가 생길 수밖에 없는데, 이때 “야, 이거 완전 정확하진 않아!” 하고 알려주는 신호가 바로 STATUSFLOATINEXACTRESULT인 거죠.
마치 복잡한 계산을 했는데 소수점 아래로 너무 길어져서 어쩔 수 없이 반올림할 때 “대략 이 정도 값이야” 하고 말해주는 상황과 비슷하다고 보시면 돼요. 이게 꼭 심각한 오류는 아니지만, 정확도가 중요한 작업에서는 간과할 수 없는 부분이랍니다.

질문: 그럼 이 ‘부정확한 결과’ 오류가 실제 프로그램에서는 어떤 문제를 일으킬 수 있을까요? 제가 만든 프로그램에 치명적인 영향을 줄 수도 있나요?

답변: 네, 이게 정말 중요한 질문이에요! STATUSFLOATINEXACTRESULT가 뜨면 당장은 프로그램이 멈추거나 크게 문제를 일으키지 않을 수도 있어요. 저도 개발 초반에는 그냥 “음, 그렇구나” 하고 넘어갔던 적이 많죠.
하지만 문제는 이런 미세한 오차가 쌓였을 때 발생해요. 예를 들어, 금융 시스템처럼 1 원 단위의 오차도 용납되지 않는 곳에서는 치명적일 수 있습니다. 수많은 거래를 처리하면서 소수점 아래 몇 자리의 오차가 계속 누적된다면, 결국 총 잔액이 맞지 않는 상황이 벌어질 수 있고, 이건 정말 큰 문제로 이어지거든요.
또, 과학 시뮬레이션이나 정밀 제어 시스템처럼 아주 작은 값의 변화가 전체 결과에 막대한 영향을 미치는 분야에서도 예상치 못한 버그의 원인이 될 수 있어요. 제 경험으로는, 이런 오차들이 예상치 못한 엣지 케이스에서 갑자기 튀어나와서 프로그램의 신뢰도를 떨어뜨리기도 했어요.
특히 반복적인 계산이 많은 루프 안에서 이런 일이 발생하면, 나중에 결과값을 확인했을 때 “어라? 왜 이 값이 나왔지?” 하면서 밤새 디버깅을 해야 하는 불상사가 생길 수도 있죠.

질문: STATUSFLOATINEXACTRESULT를 효과적으로 처리하거나 아예 발생하지 않도록 예방할 수 있는 방법은 무엇인가요? 개발자로서 어떻게 대처해야 할까요?

답변: 이 문제를 완전히 없애는 건 사실상 불가능하다고 말씀드리고 싶어요. 부동소수점 연산의 본질적인 특성이기 때문이죠. 하지만 우리가 할 수 있는 최선은 이 오류를 잘 이해하고, 발생했을 때 현명하게 대처하는 거예요.
제가 주로 사용하는 몇 가지 방법이 있습니다. 첫째는 ‘부동소수점 상태 플래그 확인’입니다. C/C++ 같은 언어에서는 같은 함수를 사용해서 부동소수점 연산 후에 어떤 예외가 발생했는지 확인할 수 있어요.
이걸 활용해서 필요하다면 오차가 발생했음을 사용자에게 알리거나, 특정 로직을 실행하도록 만들 수 있죠. 둘째는 ‘정밀도가 중요한 연산에는 고정소수점 방식을 고려’하는 겁니다. 특히 금융 계산처럼 정확도가 최우선인 경우에는 부동소수점 대신 아예 정수로만 계산해서 소수점 처리를 직접 하는 방식이 훨씬 안전해요.
셋째, ‘적절한 반올림 및 오차 범위 설정’도 중요해요. 최종 결과값을 표시할 때는 적절한 시점에 반올림 처리를 해주거나, 특정 오차 범위 내에서는 같은 값으로 간주하는 로직을 추가하는 것도 방법이죠. 마지막으로, 가장 중요한 건 ‘IEEE 754 표준’과 부동소수점 연산의 특성을 이해하는 거예요.
이 개념을 명확히 알고 있으면, 왜 이런 오류가 발생하는지 납득하고 더 효율적인 코드 설계를 할 수 있게 된답니다. 무조건 막기보다는, 어디까지 허용할지 기준을 세우고 그 안에서 관리하는 것이 핵심이라고 생각해요!

📚 참고 자료


➤ 7. 탑동 STATUS_FLOAT_INEXACT_RESULT – 네이버

– STATUS_FLOAT_INEXACT_RESULT – 네이버 검색 결과

➤ 8. 탑동 STATUS_FLOAT_INEXACT_RESULT – 다음

– STATUS_FLOAT_INEXACT_RESULT – 다음 검색 결과
Advertisement

Leave a Comment