JavaScript 의 Number. toFixed () 방법 에 대한 개인 적 인 이해
문제: 직접 사용
Number.toFixed()
하면 이상 한 반올림 이 발생 할 수 있 습 니 다.원인: 컴퓨터 부동 소수점 저장 소 는 2 진법,
js
의 Number.toFixed()
실제 정밀도 확인 규칙 은 반올림 5 쌍, 반올림, 6 입 1, 5 시 브 라 우 저 커 널 에 따라 계산 결과 도 다르다.『 8195 』 구체 적 인 원 리 는 여기 서 상세 하 게 설명 하지 않 으 므 로 여러분 은 스스로 관련 자 료 를 조회 할 수 있 습 니 다.
해결 방법: 다시
Number.toFixed()
방법.실현 원리: 부동 소수점 을 정수 로 바 꾸 고 필요 한 자릿수 를 유지 한 다음 에 부동 소수점 으로 전환한다.
구현 코드:
Number.prototype.toFixed = function (length) {
var s = this + '';
var len = length || 0;
var result = s;
var arr = s.split('.');
//
if (arr.length < 2) {
if (len > 0) {
result += '.';
for (var i = 1; i <= len; i++) {
result += '0';
}
}
return result;
}
//
var first = arr[0];
var second = arr[1];
// length
if (second.length == len) {
return result;
}
// length
if (second.length < len) {
for (var k = 1; k <= len - second.length; k++) {
result += '0';
}
return result;
}
// length
result = first + second.substr(0, len + 1);
var last = Math.floor((result * 1 + 5) / 10);
result = (last / Math.pow(10, len)).toFixed(len);
return result;
};
비고: 해결 방안 은 여러 가지 가 있 습 니 다. 이것 은 개인의 이해 일 뿐 참고 하 시기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.