1. ホーム
  2. javascript

[解決済み] なぜparseIntの呼び出しにradixパラメータを使用する必要があるのですか?

2022-10-23 17:04:39

質問

基数とは何ですか?なぜそれが必要なのでしょうか?

parseInt(10, radixValue); 

どのように解決するのですか?

整数をパースして基数10にしたいとは限らないので、基数を指定することで他の数システムを指定することができます。

基数は1つの桁に対する値の数です。16 進法では 16 になります。8進数なら8、2進数なら2、などなど。

では parseInt() 関数では、基数を与えずにヒントを与えることができるものがいくつかあります。これらは、ユーザがルールのひとつにマッチする文字列を入力する際に、明示的にマッチすることを意図していない場合にも不利に働くことがあります。例えば

// 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);