2012-02-07 5 views
0

私はテキスト値を表示していますが、テキスト値が数値であることが偶然見つかった場合、JavaScriptはそれを10進数で表示します。浮動小数点演算を停止します

Q:どのように私が書くん:クールなものを約typeofそれは常に返すこと

if (typeof(X) == 'number') { 
    $('#Status').text(+X); 
} else { 
    $('#Status').text(X); 
} 

です:

if (X is numeric) { 
    $('#Status').text(+X); 
} else { 
    $('#Status').text(X); 
} 
+0

それはあなたがここで取得しているかを理解することは困難です。数値の前に '+'のプラス文字を印刷したいのですか?そうでなければ、 'X'が割り当てられているものを印刷しますか? – Bojangles

+0

['parseInt()'](https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/parseInt)と['parseFloat()'](https:// developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/parseFloat)を参照してください。 – Bojangles

+0

あなたの質問は不明です。 Xがスティング値 "9999.0"で、フィールドに "9999"と表示させたい場合は、最初に数値として解析して小数点を切り捨てる必要があるためポジション。 Xの入力値のセットと表示したい出力を指定することで明確にしてください。入力が文字列か実際のjavascriptのどちらであるかは非常に具体的である。 – jfriend00

答えて

1

あなたは、変数に格納している値のタイプを決定するためにtypeofを使用することができます文字列なので、チェックしている変数が設定されていない場合でも、文字列undefinedが得られます。ここで

typeofのためのいくつかの良いドキュメントです:https://developer.mozilla.org/en/JavaScript/Reference/Operators/typeof

+0

残念ながら、値が "9990.0"の場合でも "string"を返しています。 –

+0

parseInt(x、10);あの少年が...あなたが達成しようとしていることを完全には理解していないのに。 – Relic

+0

うん、parseInt(x、10)が機能します。ありがとう! –

関連する問題