테스트 사이트 - 개발 중인 베타 버전입니다

select에 option 추가할때 왜 이렇게 나오나요? 채택완료

서잰션 5년 전 조회 1,569

var select = document.getElementById('input-select');
// 셀렉트 추가
for (var i = -15; i <= 15; i+=0.01) {
    var option = document.createElement("option");
    option.text = i;
    option.value = i;
    select.appendChild(option);
}

 

 

자바스크립트 for 문으로 0.01단위로 증가해서 옵션 넣을려고하는데 -14.96이후에 자리수가 망가져서 나오고있습니다..

 

무엇이 문제가 있는지 알려주시면 감사하겠습니다

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
5년 전

자리수 문제는 컴퓨터의 고질적인 문제죠 ^^

그냥 아래처럼 처리하면 됩니다

</p>

<p>var select = document.getElementById('input-select');

// 셀렉트 추가

for (var i = -15; i <= 15; i+=0.01) {

    var option = document.createElement("option");</p>

<p>    var num = i.toFixed(2); // 소수점 두자리 까지 고정

    option.text = num;

    option.value = num;

    select.appendChild(option);

}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

서잰션
5년 전
tofixed를 적용해도 그대로네요 ㅠㅠ
백수1995
5년 전
그럴리가요.. 그다음에
option.text = num;
option.value = num;

이것도 바꾸셨나요?
서잰션
5년 전
아 그부분을 따로 수정을 안했었네요 ;; 적용하니 소수점2개까지 잘 되었습니다. 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

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

로그인