基数は実際にはどういう意味ですか?なぜそれが必要なのですか?
parseInt(10, radixValue);
回答:
整数を10進数に解析する必要がない場合もあるため、基数を指定すると、他の数値システムを指定できます。
基数は、1桁の値の数です。16進数は16になります。8進数は8になり、2進数は2になります。
このparseInt()
関数では、基数を指定せずに基数をヒントにするために実行できることがいくつかあります。これらは、ユーザーがルールの1つに一致するが、明示的にそうするつもりはない文字列を入力している場合にも、あなたに不利に働く可能性があります。例えば:
// Numbers with a leading 0 used a radix of 8 (octal) before ECMAScript 5.
// These days, browsers will treat '0101' as decimal.
var result = parseInt('0101');
// Numbers that start with 0x use a radix of 16 (hexidecimal)
var result = parseInt('0x0101');
// Numbers starting with anything else assumes a radix of 10
var result = parseInt('101');
// Or you can specify the radix, in this case 2 (binary)
var result = parseInt('0101', 2);
parseInt('0101')
を返します101
。ただし、ブラウザが異なれば動作も異なる場合があります。信頼できる結果を得るために、常に基数を含めてください。
parseInt(x, 0)
...と、この等しい私は今覚えていないことができますいくつかの理由でparseInt(x, 10)
...私は今疑問に思って
のような文字列番号が0700
あり、出力を整数にし700
たい場合parseInt()
は、8進数ではなく10進数であることを通知する必要があるためです。
console.log(parseInt("0700"));
// 448
// I really wanted decimal (base 10)
console.log(parseInt("0700", 10));
// 700
// What is this? Binary, Decimal, Octal?
console.log(parseInt("0110"));
// 72
// as binary
console.log(parseInt("0110", 2));
// 6
0o
代わりに0
基数は、記数法の基礎です。数値システムは無数にありますが、ほとんどの人がよく知っているのは、10進数(10進数)と2進数(2進数)です。
数値は、基数によって解釈が異なります。たとえば、2進数の10は、10進数の2として表すことができます。
の場合parseInt()
、基数を使用すると、使用するベースを指定できます。デフォルトでは、基数10が使用されます。
ただし、基数10を使用する場合でも、基数は常に指定する必要があります。
parseInt("010")
// 8を返します
一見すると、ステートメントが10を返すことを期待できます。基数を明示的に使用すると、混乱を避けるのに役立ちます。
parseInt("010", 10)
//戻り値:10
基数は、記数法の基本番号です:http://en.wikipedia.org/wiki/Radix
通常、基数を10とは異なるものにする場合にのみ、基数を指定する必要があります。具体的には(http://www.w3schools.com/jsref/jsref_parseInt.aspから):
基数パラメーターが省略されている場合、JavaScriptは次のことを想定しています。
文字列が「0x」で始まる場合、基数は16(16進数)です。文字列が「0」で始まる場合、基数は8(8進数)です。この機能は非推奨です。文字列が他の値で始まる場合、基数は10(10進数)です。
質問に明確に答えるいくつかの追加情報を追加するだけです:
基数が未定義または0(または存在しない)の場合、JavaScriptは次のことを想定します。
ソース:MDN parseInt()
私の意見ですが、「基数を使う必要がある」という考えはすぐに時代遅れになります。ITの世界以外の人々は通常、10進数以外の数値表記を使用せず、「010」のようにゼロが埋め込まれた10進数を提供することが非常に多いため、問題は実際には少し前に発生しました。ただし、JSのECMAScript 6の8進数には、ECMAScript 5および3のように「0」だけでなく「0o」というプレフィックスが付いているため、IEファミリをターゲットにしない場合(現在は珍しい状況ではありません)、基数をスキップできます安全に。
基数パラメーターは、使用する記数法を指定するために使用されます。たとえば、基数16(16進数)は、文字列内の数値を16進数から10進数に解析する必要があることを示します。
基数パラメーターが省略されている場合、JavaScriptは次のことを想定しています。
文字列が「0x」で始まる場合、基数は16(16進数)です。
文字列が「0」で始まる場合、基数は8(8進数)です。この機能は非推奨です
文字列が他の値で始まる場合、基数は10(10進数)です。
ソースW3Schools
paseInt()の基数とは何ですか?
このparseInt()
関数は文字列を解析し、整数を返します。基数の2番目の引数を取ります。これは、文字列内の数値の基数を指定します。基数の間の整数であることができる2
と36
。
関数呼び出しは次のようになります(構文):
parseInt(string, radix);
基数の概念を明確にするためのいくつかの例
例1:
var a = parseInt("11", 2);
基数変数は「11」であると述べている二元系、又はベース2。したがって、この例では、文字列「11」を整数3に変換します。
例2:
var a = parseInt("10011", 16);
ここで、基数はparseInt()
それ10011
が16進数であり、したがって整数であると伝えます。65553
基本的に、簡単に言えば、基数引数は、parseInt()
1番目のパラメーターとして渡される文字列が特定のシステム(2進数、16進数など)のものであり、最終製品として整数に変換する必要があることを示します。