目次
数字の質問
Number 数値の表現方法
数値の基数は異なります
toString() メソッドは、基数を指定するために 2 から 36 までの整数パラメータを受け入れます。デフォルトは 10 進数です。
Number对象方法
Number类型原型方法
数学对象(Math)
ホームページ ウェブフロントエンド jsチュートリアル JS数値Number型の詳しい説明(グラフィックチュートリアル)

JS数値Number型の詳しい説明(グラフィックチュートリアル)

May 18, 2018 pm 05:13 PM
javascript タイプ

この記事では主に、JavaScript の数値 Number 型に関連する知識ポイントを詳細に分析します。これに興味のある友人は、私をフォローして一緒に学ぶことができます。

数字の質問

次の質問すべてに正しく答えることができますか?

  • 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 数値の表現方法

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(&#39;a+b == sum&#39;);
}
ログイン後にコピー

特定の実装では、整数値は通常 32 ビット整数変数として扱われ、個々の実装 (一部のブラウザーなど) では、実行に使用されるまで 32 ビット整数変数の形式でも格納されます。 32 ビット整数でサポートされていない一部の演算は、ビット演算を容易にすることを目的としています。

小数を表すために 0 を省略したり、指数形式を使用して数値を表すことができます

.9; // 0.9
1E3 // 1000
2e6 // 2000000
0.1e2 // 10
1e-5 // 0.00001
ログイン後にコピー

数値の基数は異なります

異なる基数の表現方法

数値には、10 進数、2 進数、8 進数、および 4 つの基数を使用できます10 16 進数。 10 進数以外の整数のみを使用してください。

  • 二進表記: 0 で始まり、その後に小文字または大文字のラテン文字 B (0b または 0B) が続きます

  • 八進表記: 0 で始まります。 0 の後の数値が 0 ~ 7 の範囲にない場合、数値は 10 進数に変換されます。

  • ECMAScript 5 厳密モードでは 8 進数構文の使用は禁止されており、10 進数として扱われます

  • ECMAScript 6 で 8 進数を使用するには、数値にプレフィックス「0o」を追加する必要があります

  • 16 進数表現方法:ゼロで始まり、その後に小文字または大文字のラテン文字が続きます。

toString() メソッドは、基数を指定するために 2 から 36 までの整数パラメータを受け入れます。デフォルトは 10 進数です。

    parseInt() は 2 番目のパラメータを受け入れます。2 から 36 までの値を持つ整数パラメータは、基数を指定します。文字列を Number に変換します
  • // 十进制
    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
    ログイン後にコピー
  • Number オブジェクトは、一連の数値関連の定数とメソッドをカプセル化する組み込み数値オブジェクト。
  • // 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(&#39;110&#39;); // 110
    parseInt(&#39;110&#39;, 2); // 6
    parseInt(&#39;110&#39;, 8); // 72
    parseInt(&#39;110&#39;, 16); // 272
    parseInt(&#39;110&#39;, 26); // 702
    // toString和parseInt结合使用可以在两两进制之间转换
    // 将 a 从36进制转为12进制
    var a = &#39;ra&#39;; // 36进制表示的数
    parseInt(a, 36).toString(12); // "960"
    ログイン後にコピー

    Number オブジェクトのプロパティ:

Number.MAX_VALUE

表現可能な最大値Number.MIN_VALUENumberんNumber.NEGATIVE_INFINITYは1と最も近い最小の数値の差を表します。 1から1以上JavaScriptの最小安全整数JavaScriptの最大安全整数
表現可能な最小値
具体的には「数値ではない」を指します
は具体的には「負の無限大」を指します; オーバーフローした場合、
Number.MIN_SAFE_INTEGER
Number.MAX_SAFE_INTEGER

Number对象方法

Number对象方法可以使用 Number. 的形式调用,也可以使用全局调用。

Number.parseFloat()把字符串参数解析成浮点数,左右等效于一元运算法+
Number.parseInt()把字符串解析成特定基数对应的整型数字
Number.isFinite()判断传递的值是否为有限数字
Number.isInteger()判断传递的值是否为整数
Number.isNaN()判断传递的值是否为 NaN
Number.isSafeInteger()判断传递的值是否为安全整数

parseInt() 方法需要注意:

  • parseInt() 参数可以有两个参数:数字字符串和进制

  • 如果第一个参数为非指定进制的数字字符串,则结果为0

  • 如果第一个参数为非字符串,会首先调用该参数的toString()方法转换为字符串

  • 第一个参数中非指定进制可识别的字符会被忽略

  • 如果给定的字符串不存在数值形式,函数会返回一个特殊的值 NaN

  • 如果调用时没有提供第二个参数,则使用字符串表示的数字的进制

parseInt(&#39;123&#39;); // 123
parseInt(&#39;123&#39;, 10); // 123
parseInt(&#39;123&#39;, 8); // 83
parseInt(&#39;123&#39;, 16); // 291
parseInt("11", 2); // 3
parseInt(&#39;0x123&#39;, 10); // 0
parseInt(&#39;0x123&#39;, 16); // 291
parseInt(&#39;0x123&#39;); // 291
// 如果第一个参数不是字符串,会先把第一个参数转成字符串
parseInt(&#39;12&#39;, 16); // 18
parseInt(12, 16); // 18
// toString方法会将数字转换为10进制的字符串
parseInt(0xf, 16); // 21
0xf.toString(); // &#39;15&#39;
parseInt(&#39;15&#39;, 16); // 21
parseInt(&#39;23.56&#39;); // 23
parseInt("hello", 16); // NaN
parseInt("aello", 16); // 174
ログイン後にコピー

Number类型原型方法

Number类型原型上还有一些方法来对数字进度进行取舍,这些方法可以被 Number 实例对象调用:

toExponential()返回一个数字的指数形式的字符串
toFixed()返回指定小数位数的表示形式
toPrecision()返回一个指定精度的数字

这些原型方法可以被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.E 欧拉常数,也是自然对数的底数, 约等于 2.718
Math.LN2 2的自然对数, 约等于0.693
Math.LN10 10的自然对数, 约等于 2.303
Math.LOG2E 以2为底E的对数, 约等于 1.443
Math.LOG10E 以10为底E的对数, 约等于 0.434
Math.PI 圆周率,一个圆的周长和直径之比,约等于 3.14159
Math.SQRT2 2的平方根,约等于 1.414
Math.SQRT1_2 1/2的平方根, 约等于 0.707

Math の三角関数 sin のパラメーターはラジアンです。角度の場合は (Math.PI / 180) を使用できます。

xの値を切り上げて返しますxの値を切り上げて返します四捨五入された整数を返します数値の最も近い単精度浮動小数点表現を返しますReturns x の整数部分、小数点を削除しますx の平方根を返しますx の立方根を返します引数を返します 二乗和の平方根 xのy乗を返します数値引数のカンマ区切りリストのうち小さい方、または大きい方を(それぞれ)返します標準三角関数。引数はラジアンです逆三角関数; 戻り値はラジアンです双曲線三角関数; 戻り値はラジアンです。 逆双曲線三角関数; 戻り値はラジアンです。指数関数と対数関数 以上がJSの数値Number型に関する知識ポイントをまとめたものですので、ご参考になれば幸いです。未来のみんなへ。 関連記事: jsピタゴラスツリーの実装(コード付き)
Math.abs(x) は x の絶対値を返します。
Math.sign(x) )の符号関数を返します
Math.ceil(x)
Math.round(x)
Math.frond(x)
Math.trunc(x)
Math.sqrt (x)
Math.cbrt(x)
Math .hypot([x[,y[,…]]])
Math.pow(x,y)
min()、max()
sin()、cos()、tan()
asin()、acos()、atan()、atan2( )
sinh()、cosh()、tanh()
asinh()、acosh()、atanh()
, expm1(), log10(), log1p(), log2()
p5.

js

アニメーションタイマーの使い方チュートリアル
JSが元の値を保存する方法とリファレンス価値観

以上がJS数値Number型の詳しい説明(グラフィックチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

ビデオ マトリックス アカウントを作成するにはどうすればよいですか?どのようなタイプのマトリックスアカウントがありますか? ビデオ マトリックス アカウントを作成するにはどうすればよいですか?どのようなタイプのマトリックスアカウントがありますか? Mar 21, 2024 pm 04:57 PM

ショートビデオプラットフォームの人気に伴い、ビデオマトリックスアカウントマーケティングが新たなマーケティング手法となっています。企業や個人は、さまざまなプラットフォームで複数のアカウントを作成および管理することで、ブランドのプロモーション、ファンの増加、製品の販売などの目標を達成できます。この記事では、ビデオ マトリックス アカウントの効果的な使用方法について説明し、さまざまな種類のビデオ マトリックス アカウントを紹介します。 1. ビデオ マトリックス アカウントを作成するにはどうすればよいですか?優れたビデオ マトリックス アカウントを作成するには、次の手順に従う必要があります。 まず、ブランド コミュニケーション、ファンの増加、製品の販売など、ビデオ マトリックス アカウントの目標を明確にする必要があります。明確な目標を持つことは、それに応じた戦略を立てるのに役立ちます。 2. プラットフォームの選択: 対象視聴者に基づいて、適切なショートビデオ プラットフォームを選択します。現在主流のショートビデオプラットフォームには、Douyin、Kuaishou、Huoshan Videoなどが含まれます。

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 Dec 17, 2023 am 08:41 AM

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。

See all articles