소수점
[JS] 소수점 존재여부 확인하기
코드 function hasDecimal(number) { return number % 1 !== 0; } hasDecimal(123); // false hasDecimal(123.45); // true number % 1은 숫자를 1로 나눈 나머지를 계산하는데, 정수가 아니면 0이 아닌 값을 반환하는 점을 이용한 코드입니다. 자바스크립트에서는 문자열에 대해서 나머지 연산자를 사용해면 똑같은 0의 결과가 나오게 됩니다. 오직 숫자만 판별하기 function hasDecimal(number) { return typeof number === 'number' && number % 1 !== 0; } hasDecimal('123.45'); // false hasDecimal(123.45); // true 숫자가..
[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로 감싸서 숫..
[JS] 3자리 마다 콤마 표시하기 (소수점 제외)
정규식을 사용하거나 3자리마다 쪼개서 추가하는 방법 등, 다양한 방법이 존재하지만 가장 쉬운 방법은 toLocaleString() 메서드를 사용하는 방법입니다. 기본 코드 String.toLocaleString(); // 예시 (15000).toLocaleString(); // 15,000 포맷할 Number 타입의 숫자에 toLocaleString() 메서드를 사용하여 콤마를 표시해줍니다. 예시 코드 const price = "12000"; //