내 코드는 다음과 같습니다Javascript toFixed IE6의 버그?
var m=0.00542;
alert(m.toFixed(3));
alert(m.toFixed(2));
예상되는 결과는 다음과 같습니다 0.01
하지만 IE6에서 0.005, 결과는 다음과 같습니다 0.005 0.00
내가 무엇을 할 수 있습니까?
내 코드는 다음과 같습니다Javascript toFixed IE6의 버그?
var m=0.00542;
alert(m.toFixed(3));
alert(m.toFixed(2));
예상되는 결과는 다음과 같습니다 0.01
하지만 IE6에서 0.005, 결과는 다음과 같습니다 0.005 0.00
내가 무엇을 할 수 있습니까?
IE6이 깨졌습니다. Google조차도 더 이상 지원하지 않습니다. 이 문제는 쉽게 해결할 수 있습니다.
는 Number.toFixed()
패치 지금 예상 출력을 생성한다
Number.prototype.toFixed = function(n) {
var power = Math.pow(10, n);
var fixed = (Math.round(this * power)/power).toString();
if(n == 0) return fixed;
if(fixed.indexOf('.') < 0) fixed += '.';
var padding = n + 1 - (fixed.length - fixed.indexOf('.'));
for(var i = 0; i < padding; i++) fixed += '0';
return fixed;
};
코드를 정의합니다.
반올림을 수행합니다. 최신 브라우저에 동일한 코드를 입력하십시오. –
'0.95.toFixed (1)'은 IE6에서'1.0 '을 반환합니다. –
'toFixed '의 구현이 올바르지 않습니다. 숫자가 아니라 문자열이어야합니다. '0..toFixed (2)'는 '0'이 아니라 '0.00'을 반환해야합니다. –
IE6에 대한 지원을 중단하여 수정했습니다. 그것은 부분적으로 소화 된 쓰레기 조각입니다. –
'0.9.toFixed (0)'은 IE6에서'0'을 반환합니다. 어떤 응용 프로그램이 IE6을 지원해야합니까? –
@MarcB +1 '유일하게 - 칭찬'- 최고의 - 최고의 IE6. 그러나 그것은 그 질문에 대한 답이 아닙니다. –