js에서parseInt()의 기이한 행위에 대한 탐구와 수정
2442 단어 jsparseint()
친구들은 파세인트(0.006)나 파세인트(0.0006) 등이 돌아오는 값이 0이어야 한다는 것을 발견했는지 모르겠지만, 파세인트(0.000006)가 돌아오는 값이 이상한 6인 이유는 무엇일까?
parseInt 함수의 역할
우선 parseInt()의 역할은 무엇입니까?그는 js의 원생 방법으로 숫자 문자열을 Number 유형의 숫자로 바꾸는 데 사용되고 그는 정수 부분만 바꾸는 데 사용된다.
parse는 전환, Int는 정형, 정수, 목적은 안을 정수로 전환하는 것이다
var num = parseInt(demo ,radix); //demo
매개 변수를 전달하는 용법
var demo =”123”;
var num = parseInt(demo);
console.log(typeof(num) + “:” + num);//number:123
var demo = true;
var num = parseInt(demo);
console.log(typeof(num) + “:” + num);//number: NaN
var demo = false;
var num = parseInt(demo);
console.log(typeof(num) + “:” + num);//number: NaN
var demo = 123.9;
var num = parseInt(demo);
console.log(typeof(num) + “:” + num);//number: 123,
var demo = “10”;
var num = parseInt(demo ,16);
console.log(typeof(num) + “:” + num); //number: 16
두 개의 매개 변수를 전달하는 용법
var num = parseInt(demo ,radix); //radix
해석:radix를 16진법으로 쓰면 시스템은 16진법을 기초로 하고 10(0)은 16진법의 0이며 16진법을 기초로 하여 그를 10진법의 숫자(즉 16)로 전환시킨다. 위에는 목표 진법을 기초로 하고 10진법으로 전환한다(radix 범위는 2-36)예:
//1、
parseInt(10,2)// 2 10 10 2
//2
var demo = “123abc”;
var num = parseInt(demo);
console.log(typeof(num) + “:” + num);// :number: 123
// parseInt , ,
원인을 탐구하다우리가 이상적인 것은 이 소수를 모두 0으로 바꾸는 것이지만parseInt(0.0000006)는 6으로 되돌아오는 것은 정말 터무니없는 것이다.
console.log(parseInt(0.006)) //0
console.log(parseInt(0.0006)) //0
console.log(parseInt(0.00006)) //0
console.log(parseInt(0.000006)) //0
console.log(parseInt(0.0000006)) //6
돌아오자마자 나는 그의 원인이 어디에 문제가 생겼는지 탐색하기 시작했다.
parseInt(0.0000006) //0.000006
String(0.0000006); //6e-7
parseInt(6e-7); //6
parseInt(0.0000006) //6
총결산 원인이번에 나는 원인을 발견했다. 원래는 10의 -6차방 이후에 형식이 복수의 형식(6e-7)으로 바뀌었기 때문이다.그리고parseInt()로 6e-7의 6을 되돌렸기 때문에 마지막에 되돌린 값은 6이다.
고치다
만약 소수를 안전하게 돌아오게 하려면 다른 방법을 써야 한다.
Math.floor(0.00006); //0
Math.floor(0.000006); //0
Math.floor(0.0000006); //0
이렇게 하면 네가 원하는 값을 얻을 수 있다.총결산
이 js의parseInt()의 기이한 행위에 관한 글은 여기까지 소개합니다. js의parseInt()에 대한 더 많은 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.