[解決済み] parseInt(1/0, 19)はなぜ18を返すのですか?
2022-03-21 17:21:02
質問
で困ったことがあります。 JavaScript .
> parseInt(1 / 0, 19)
> 18
なぜ
parseInt
関数が返す
18
?
解決方法は?
の結果は
1/0
は
Infinity
.
parseInt
は最初の引数を文字列として扱うので、まず最初に
Infinity.toString()
が呼び出され、文字列
"Infinity"
. というわけで、以下のように変換するように指示したのと同じように動作します。
"Infinity"
を19進数で10進数に変換します。
以下は、基数19の数字とその10進数値です。
Base 19 Base 10 (decimal)
---------------------------
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
a 10
b 11
c 12
d 13
e 14
f 15
g 16
h 17
i 18
次に起こることは
parseInt
は入力をスキャンし
"Infinity"
を受け取って停止し、パース可能な部分を探します。
I
(なぜなら
n
は19進数では有効な数字ではありません)。
そのため、あたかも
parseInt("I", 19)
であり、上の表で10進数の18に変換されます。
関連
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
[解決済み】エラー。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりませんでした。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] なぜ ++[[]][+[] +[+[]] は "10" という文字列を返すのでしょうか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptの関数この指摘の問題を説明
-
jsを使った簡単な照明スイッチのコード
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
vueディレクティブv-bindの使用と注意点
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
nullのプロパティinnerHTMLを読み取れません エラーメッセージ