나를 제외한 천재들 블로그


- '오류' 태그의 글 목록 -

오류

    [JS] 소수점 계산 오차 해결

    [JS] 소수점 계산 오차 해결

    원인 컴퓨터에서 계산을 할 때는 10진수 대신에 0과 1만을 사용하는 2진수로 계산합니다. 0과 1만을 사용하여 계산하기에 10 진수를 2진수로 바꾸는 변환과정이 필요합니다. 이때 컴퓨터 메모리에 존재하는 한계로 인해서 연산 중 발생한 무한소수의 중간을 잘라서 유한 소수로 저장해 버립니다. 이 과정에서 미세한 오차가 발생하는 것입니다. 첫 번째 방법 Number((0.2 + 0.4).toFixed(1)) // 0.6 Math.round((0.2 + 0.4) * 10) / 10; // 0.6 Number.toFixed(n) → 소수점 n자리까지 반올림 Math.round((a + b) * 10) / 10 → 소수점 첫째 자리까지 반올림 toFixed() 메서드는 문자열로 반환되기에 Number로 감싸서 숫..

    [PHP] 다중 파일을 ZIP 압축 파일로 다운로드하기

    [PHP] 다중 파일을 ZIP 압축 파일로 다운로드하기

    코드 // 가상의 경로를 가진 배열 생성 $files = ['upload/zipFile_1.txt', 'upload/zipFile_2.txt']; $filePath = $_SERVER['DOCUMENT_ROOT']."/"; $zip = new ZipArchive(); // zip 아카이브 생성하기 위한 고유값 $zipName = time()."zip"; // zip 아카이브 생성 여부 확인 if (!$zip->open($zipName, ZipArchive::CREATE)) { exit("error"); } // addFile ( 파일이 존재하는 경로, 저장될 이름 ) foreach ($files as $fileName) { $zip->addFile($filePath.$fileName, $fileName)..