2013-08-09 24 views
5

ストーピッド質問時間!JavaScriptの整数長

私はJavaScriptで使用すると、整数を文字列に変換する必要があることを知っている:

var num = 1024; 
len = num.toString().length; 
console.log(len); 

私の質問はこれです:なぜ、JavaScriptでの整数のためのGETのlengthプロパティがありませんか?それは頻繁に使用されていないものですか?

+2

Becau se 'length'はバイト単位の長さで、文字列の場合は通常の 'length'と同じ意味を持ちます。整数には標準のデータ型の長さがあるため、長さを計算する必要はありません。 intの文字列表現長を参照している場合は、最初に文字列に変換する必要があることは明らかです。 –

答えて

9

私は、長さのプロパティをnumberに指定すると役立たないと思います。 文字列の長さはその表現を変えることによって変化しません。

var b = "sometext"; 

、あなたが実際に文字列自体を変更しない限り、そのlengthプロパティが変更されません:あなたはこのような文字列を持つことができます例えば

しかし、これは数字には当てはまりません。

同じ番号は、これらの2つの表現を持つことができます。

var a = 23e-1; 
and 
var b = 2.3; 

だから、この二つの表現との明確な同じ番号が複数の表現 を持つことができますので、あなたは番号のlengthプロパティを持っている場合、それは変更する必要がありますということnumb.er

+0

真、整数値、したがって長さは、数値システムの基数に依存します。 – Clergyman

+0

*非常に役に立たないかもしれません。しかし、私はそれを使うことができました。ユーザーテキストの行を解析中。このような機能を使用して、 'parseInt'関数がソース文字列からどのくらいの距離を使用しているか教えてください。見直すために文字列に戻す必要はありません。 (すなわち: 'x + 2464 + y * 42'を解析する) –

2

の表現で、あなたはこのように、変数toString()最初に設定する必要があります。

var num = 1024, 
str = num.toString(), 
len = str.length; 

console.log(len); 
関連する問題