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

JS の数値型 (詳細なチュートリアル)

Jun 07, 2018 pm 02:09 PM
js

この記事では、主に 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 数値の表現方法

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 オブジェクトのプロパティ:

Property

Description

Number.MIN_VALUENumber.NaNNumber.NEGATIVE_INFINITYNumber.POSITIVE_INFINITYNumber.EPSILON
Number.MAX_VALUE表現できる最大値
表現可能な最小値
は具体的には「非数値」を指します
は具体的にはオーバーフロー時に返される「負の無限大」を指します
は具体的には「正の無限大」を指します; オーバーフローの場合
を返します。1 と 1 に最も近く、1 より大きい最小の Number との差を表します。 MAX_SAFE_INTEGER JavaScript の最大安全整数

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)

MethodDescriptionMath.abs(x) を使用できます。 X の絶対値を返すMath.sign(x)x が正の数、負の数、または 0 であるかどうかを決定する x の符号関数を返しますMath.random() a を返します0から1までの擬似乱数Math.floor(x)四捨五入後のxの値を返しますMath.ceil(x)四捨五入後のxの値を返しますMath.round(x)四捨五入された整数を返します。Math.fround(x)数値の最も近い単精度浮動小数点表現を返しますMath.trunc(x)10 進数を除いた x の整数部分を返しますMath.sqrt(x)x の平方根を返しますMath.cbrt(x) x の立方根を返します Math.hypot([x[,y[,…] ]])引数の二乗和の平方根を返しますMath.pow(x,y) x を累乗して返しますy powermin(), max()sin()、cos()、tan() asinh(), acosh(), atanh()逆双曲線三角関数; 戻り値はラジアンです ), exp(), expm1(), log10(), log1p(), log2( )指数関数と対数関数
の数値パラメータリストの小さい値または大きい値をカンマで区切って返します 標準三角関数; パラメータはラジアンです
asin()、acos()、atan()、atan2() 逆三角関数; 戻り値はラジアンです
sinh() 、tanh() 双曲線三角関数; 戻り値はラジアンです
上記は、皆さんに役立つことを願ってまとめたものです。未来。

関連記事:

vue-cli プロジェクトにおける ProxyTable のクロスドメインの問題

express がクエリ サーバーを構築する

js のカスタム トリム関数を使用して両端のスペースを削除する

以上がJS の数値型 (詳細なチュートリアル)の詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

JS と Baidu Maps を使用してマップ パン機能を実装する方法 JS と Baidu Maps を使用してマップ パン機能を実装する方法 Nov 21, 2023 am 10:00 AM

JS と Baidu Map を使用してマップ パン機能を実装する方法 Baidu Map は広く使用されている地図サービス プラットフォームで、Web 開発で地理情報、位置情報、その他の機能を表示するためによく使用されます。この記事では、JS と Baidu Map API を使用してマップ パン機能を実装する方法と、具体的なコード例を紹介します。 1. 準備 Baidu Map API を使用する前に、Baidu Map Open Platform (http://lbsyun.baidu.com/) で開発者アカウントを申請し、アプリケーションを作成する必要があります。作成完了

株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます 株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます Dec 17, 2023 pm 06:55 PM

株式分析に必須のツール: PHP および JS でローソク足チャートを描画する手順を学びます。特定のコード例が必要です。インターネットとテクノロジーの急速な発展に伴い、株式取引は多くの投資家にとって重要な方法の 1 つになりました。株価分析は投資家の意思決定の重要な部分であり、ローソク足チャートはテクニカル分析で広く使用されています。 PHP と JS を使用してローソク足チャートを描画する方法を学ぶと、投資家がより適切な意思決定を行うのに役立つ、より直感的な情報が得られます。ローソク足チャートとは、株価をローソク足の形で表示するテクニカルチャートです。株価を示しています

PHP と JS を使用して株価ローソク足チャートを作成する方法 PHP と JS を使用して株価ローソク足チャートを作成する方法 Dec 17, 2023 am 08:08 AM

PHP と JS を使用して株のローソク足チャートを作成する方法。株のローソク足チャートは、株式市場で一般的なテクニカル分析グラフィックです。始値、終値、最高値、株価などのデータを描画することで、投資家が株式をより直観的に理解するのに役立ちます。株価の最低価格、価格変動。この記事では、PHP と JS を使用して株価のローソク足チャートを作成する方法を、具体的なコード例とともに説明します。 1. 準備 開始する前に、次の環境を準備する必要があります。 1. PHP を実行するサーバー 2. HTML5 および Canvas をサポートするブラウザー 3

JSと百度地図を使って地図クリックイベント処理機能を実装する方法 JSと百度地図を使って地図クリックイベント処理機能を実装する方法 Nov 21, 2023 am 11:11 AM

JS と Baidu Maps を使用してマップ クリック イベント処理を実装する方法の概要: Web 開発では、地理的位置と地理情報を表示するためにマップ関数を使用することが必要になることがよくあります。マップ上のクリック イベント処理は、マップ機能の一般的に使用される重要な部分です。この記事では、JS と Baidu Map API を使用して地図のクリック イベント処理機能を実装する方法と、具体的なコード例を紹介します。手順: Baidu Map の API ファイルをインポートします。まず、Baidu Map API のファイルを HTML ファイルにインポートします。これは、次のコードによって実現できます。

JSとBaidu Mapsを使ってマップヒートマップ機能を実装する方法 JSとBaidu Mapsを使ってマップヒートマップ機能を実装する方法 Nov 21, 2023 am 09:33 AM

JS と Baidu Maps を使用してマップ ヒート マップ機能を実装する方法 はじめに: インターネットとモバイル デバイスの急速な発展に伴い、マップは一般的なアプリケーション シナリオになりました。視覚的な表示方法として、ヒート マップはデータの分布をより直観的に理解するのに役立ちます。この記事では、JS と Baidu Map API を使用してマップ ヒート マップ機能を実装する方法と、具体的なコード例を紹介します。準備作業: 開始する前に、次の項目を準備する必要があります: Baidu 開発者アカウント、アプリケーションの作成、対応する AP の取得

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする Dec 18, 2023 pm 03:39 PM

インターネット金融の急速な発展に伴い、株式投資を選択する人がますます増えています。株式取引では、ローソク足チャートは一般的に使用されるテクニカル分析手法であり、株価の変化傾向を示し、投資家がより正確な意思決定を行うのに役立ちます。この記事では、PHP と JS の開発スキルを紹介し、株価ローソク足チャートの描画方法を読者に理解してもらい、具体的なコード例を示します。 1. 株のローソク足チャートを理解する 株のローソク足チャートの描き方を紹介する前に、まずローソク足チャートとは何かを理解する必要があります。ローソク足チャートは日本人が開発した

jsとvueの関係 jsとvueの関係 Mar 11, 2024 pm 05:21 PM

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

See all articles