이 글은 주로 JavaScript 숫자형 숫자 유형 관련 지식 포인트에 대한 자세한 분석을 제공합니다.
다음 질문에 올바르게 답할 수 있습니까?
0.1 + 0.2 == 0.3 맞나요?
.e-5는 얼마를 의미하나요?
8진수는 어떻게 표현하나요?
베이스를 어떻게 변환하나요?
문자열을 숫자 값이나 정수로 변환하는 방법은 무엇입니까? 그 반대는 어떻습니까? 16진수는 어떻게 처리하나요?
parseInt(0x12, 16)의 반환 값은 무엇입니까? 0x12인가요?
Number.MAX_VALUE는 최대값입니다. (new Number(12)).MAX_VALUE는 무엇인가요?
JavaScript에서 반올림하는 방법은 무엇입니까? 소수점 이하 3자리의 정밀도를 유지하는 방법은 무엇입니까?
임의의 숫자를 얻는 방법은 무엇인가요? 반올림하는 방법? 반올림하는 방법?
Number 유형은 숫자를 나타내며, JavaScript는 "이중 정밀도 64비트 형식 IEEE 754 값"을 사용하여 숫자를 나타냅니다.
다른 프로그래밍 언어(C, Java 등)와 달리 JavaScript는 정수 값과 부동 소수점 값을 구분하지 않습니다. JavaScript에서는 모든 숫자가 부동 소수점 값으로 표현되므로 문제에 특히 주의하세요. 숫자 작업을 수행할 때 진행 상황이 누락되었습니다.
0.1 + 0.2 = 0.30000000000000004; 0.1 + 0.2 == 0.3; // false // 浮点运算判断相等 var ACCURACY = 1e-5; //定义精度精确到0.00001 var a = 0.1; var b = 0.2; var sum = 0.3; // 判断相差小于精度就认为相等 if (a + b - sum < ACCURACY) { console.log('a+b == sum'); }
특정 구현에서 정수 값은 일반적으로 개별 구현(예: 일부 브라우저)에서 실행에 사용될 때까지 32비트 정수 변수 형식으로 저장됩니다. 특정 기능. 32비트 정수에서는 일부 작업이 지원되지 않습니다. 이는 비트 작업을 용이하게 하기 위한 것입니다.
소수를 나타내기 위해 0을 생략할 수도 있고, 숫자를 표현하기 위해 지수 형식을 사용할 수도 있습니다.
.9; // 0.9 1E3 // 1000 2e6 // 2000000 0.1e2 // 10 1e-5 // 0.00001
다른 진수의 표현 방법
숫자는 10진수, 2진수, 8진수, 4가지 진수를 사용할 수 있습니다. 10개의 16진수. 소수가 아닌 숫자에는 정수만 사용하세요.
2진수 표기법: 0으로 시작하고 뒤에 소문자 또는 대문자 라틴 문자 B(0b 또는 0B)가 옵니다.
8진수 표기법: 0으로 시작합니다. 0 뒤의 숫자가 0~7 범위에 없으면 해당 숫자는 10진수로 변환됩니다.
ECMAScript 5 엄격 모드에서는 8진수 구문 사용이 금지되며 10진수로 처리됩니다.
ECMAScript 6에서 8진수를 사용하려면 숫자에 접두사 "0o"를 추가해야 합니다
16진수 표현 방법: 0으로 시작하고 그 뒤에 라틴 문자 소문자 또는 대문자를 사용합니다.parseInt() 메서드:
// 十进制 12345678 42 0777 // 在非严格格式下会被当做八进制处理 (用十进制表示就是511) // 二进制 var a = 0b100000; // 32 var b = 0b0111111; // 63 var c = 0B0000111; // 7 // 八进制 var n = 0755; // 493 var m = 0644; // 420 var a = 0o10; // ES6 :八进制 // 十六进制 0xFFFFFFFFFFFFFFFFF // 295147905179352830000 0x123456789ABCDEF // 81985529216486900 0XA // 10
로 변환합니다. 일련의 숫자 관련 상수 및 메소드를 캡슐화하는 내장 숫자 객체입니다.
// toString转换,输入为Number,返回为String var n = 120; n.toString(); // "120" n.toString(2); // "1111000" n.toString(8); // "170" n.toString(16); // "78" n.toString(20); // "60" 0x11.toString(); // "17" 0b111.toString(); // "7" 0x11.toString(12);// "15" // parseInt转换,输入为String,返回为Number parseInt('110'); // 110 parseInt('110', 2); // 6 parseInt('110', 8); // 72 parseInt('110', 16); // 272 parseInt('110', 26); // 702 // toString和parseInt结合使用可以在两两进制之间转换 // 将 a 从36进制转为12进制 var a = 'ra'; // 36进制表示的数 parseInt(a, 36).toString(12); // "960"
Number.MAX_VALUE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Number.MIN_VALUE | 표현 가능한 가장 작은 값 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
숫자. NaN | 은 구체적으로 "숫자가 아닌" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number.NEGATIVE_INFINITY | 은 특히 "음의 무한대"를 참조합니다. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number.EPSILON | 은 1과 1에 가장 가깝고 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number.MIN_SAFE_INTEGER | JavaScript 최소 안전 정수 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number.MAX_SAFE_INTEGER 사이의 차이를 나타냅니다. | JavaScript 최대 안전 정수 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number对象方法Number对象方法可以使用 Number. 的形式调用,也可以使用全局调用。
parseInt() 方法需要注意:
parseInt('123'); // 123 parseInt('123', 10); // 123 parseInt('123', 8); // 83 parseInt('123', 16); // 291 parseInt("11", 2); // 3 parseInt('0x123', 10); // 0 parseInt('0x123', 16); // 291 parseInt('0x123'); // 291 // 如果第一个参数不是字符串,会先把第一个参数转成字符串 parseInt('12', 16); // 18 parseInt(12, 16); // 18 // toString方法会将数字转换为10进制的字符串 parseInt(0xf, 16); // 21 0xf.toString(); // '15' parseInt('15', 16); // 21 parseInt('23.56'); // 23 parseInt("hello", 16); // NaN parseInt("aello", 16); // 174 로그인 후 복사 Number类型原型方法Number类型原型上还有一些方法来对数字进度进行取舍,这些方法可以被 Number 实例对象调用:
这些原型方法可以被Number实例对象调用: var numObj = 12345.6789; numObj.toExponential(); // "1.23456789e+4" numObj.toExponential(2); // "1.23e+4" numObj.toExponential(4); // "1.2346e+4" numObj.toPrecision(); // "12345.6789" numObj.toPrecision(2); // "1.2e+4" numObj.toPrecision(4); // "1.235e+4" numObj.toFixed(); // 返回 "12346":进行四舍五入,不包括小数部分 numObj.toFixed(1); // 返回 "12345.7":进行四舍五入 numObj.toFixed(6); // 返回 "12345.678900":用0填充 (1.23e+20).toFixed(2); // 返回 "123000000000000000000.00" (1.23e-10).toFixed(2); // 返回 "0.00" 2.34.toFixed(1); // 返回 "2.3" -2.34.toFixed(1); // 返回 -2.3 (由于操作符优先级,负数不会返回字符串) (-2.34).toFixed(1); // 返回 "-2.3" (若用括号提高优先级,则返回字符串) 로그인 후 복사 数学对象(Math)和Number相关的是,JavaScript对象中内置的Math对象,提供了很多数学常数和函数的属性和方法。 属性列表:
Math의 삼각 함수 sin 및 기타 매개변수는 각도인 경우 (Math.PI / 180)
위 내용은 JS의 숫자 유형(자세한 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
d3.js를 확대할 때 산점도 값이 유지되지 않습니다.
d3.js를 처음 사용하는 것이므로 양해해 주시기 바랍니다. vue.js 파일에 순수 JavaScript로 구현했습니다. 확대/축소 기능을 사용하여 산점도를 만들...
에서 2024-04-06 18:16:26
0
1
403
숨겨진 측면 패널 표시: 선택됨
애니메이션 햄버거 메뉴를 통해 보기로 전환할 수 있는 탐색 메뉴를 측면 패널에 갖고 싶습니다. JS 없이 CSS만 사용하여 만들고 싶습니다. :checked 의사...
에서 2024-04-06 15:49:33
0
1
319
Electron은 사전 로드 시 AppData를 가져옵니다.
사전 로드된 AppData 디렉터리를 얻는 방법은 무엇입니까? Background.js[...]asyncfunctioncreateWindow(){constwin=...
에서 2024-04-06 11:05:31
0
1
417
관련 주제
더>
|