1

現在、ファイルから文字列整数を読み取り、それらを関数に渡しています。ほとんどのファイルには末尾の改行があるため、 の動作について疑問に思っていましたNumber()

max_pidRHEL カーネル ファイルから変数を取得するために、非同期読み取りを使用しています。

var options = {
  encoding: 'utf8'
};

fs.readFile('/proc/sys/kernel/pid_max', options, function (err, data) {
  var max_pid = Number(data);

  // or trim the string first
  var max_pid = Number(data.trim());
});

私のシステムの変数は文字列をdata返し、その文字列'32768\n'で使用Number()すると改行が削除されます。これは の意図した動作ですか、それともに渡す前に変数Number()を使用する必要がありますか?str.trim()Number()

これは、環境全体での一貫性と、関数の適切な使用のためです。

4

2 に答える 2

1

文字列の先頭と末尾の空白は自動的に削除されます。数値の途中にある空白は削除されません。たとえば、"12 345"(evaluates to NaN)。数字以外の文字がある場合は、 が表示されますNaN

詳細については、この質問を参照してください。

于 2013-06-09T02:00:15.240 に答える