2012-02-05 5 views
2
var a = 1234567; 

console.log(a.toLocaleString()) 

#=> '1234567' 

なぜこのテストではtoLocaleString()とtoStringに違いはありませんか?Number#toLocaleString()がwebkitコンソールとノードコンソールの両方で期待どおりに機能しないのはなぜですか?

+0

JavaScriptで数値を書式設定するのは難しい場合があります。これはいくつかの助けかもしれない投稿です:http://stackoverflow.com/questions/1068284/format-numbers-in-javascript –

答えて

-1

toLocaleStringは、toStringのカルチャー対応バージョンです。あなたがそれらの間に違いが見られないなら、それらを呼び出すオブジェクトはあなたの地元の文化と不変の文化の両方で同じ表現をしています。この1組のメソッドは、カンマがドットの代わりに浮動小数点数で使用される国では異なる結果をもたらします。

1.23.toLocaleString(); // "1,23" 
1.23.toString(); // "1.23" 
+0

この答えはなぜNode.jsで 'Number.toLocaleString'が動作しないのかについては言及していませんそれはブラウザでそうです。 – pseudosavant

0

私は自分自身の答えを探していました。簡単な答えは、実質的にバイナリサイズが増えるため、Node.jsビルドには、デフォルトで組み込まれたNumber.toLocaleStringの内部化のためのライブラリがないということです。

本当に必要な場合は、付属のライブラリを使用してソースからノードを構築できます。興味があればThis other answer詳細があります。

関連する問題