2011-11-11 12 views
0

場所と理由を知らずに、奇妙な不要なNumberからNaNへの変換が発生しました。私は明らかにここに何かを見逃していますが、私は何が分かりません。Jquery - ストレンジ数からストリングへの変換

ご提案は大歓迎です! ;)ここで

はjavascriptのコードです:ここでは

updatedAbsoluteResult = currentlyDisplayedRentability * investment 
resultAgainstReferencial = updatedAbsoluteResult - appropriateReferencialRentability * investment 

$('#a0').html('currentlyDisplayedRentability: ' + typeof currentlyDisplayedRentability) 
$('#a1').html('investment: ' + typeof investment) 
$('#a2').html('updatedAbsoluteResult: ' + typeof updatedAbsoluteResult) 
$('#a3').html('appropriateReferencialRentability: ' + typeof appropriateReferencialRentability) 
$('#a4').html('resultAgainstReferencial: ' + typeof resultAgainstReferencial) 
$('#a5').html('resultAgainstReferencial: ' + resultAgainstReferencial) 

は、HTML出力である:

currentlyDisplayedRentability: number 
investment: number 
updatedAbsoluteResult: number 
appropriateReferencialRentability: number 
resultAgainstReferencial: number 
resultAgainstReferencial: NaN 

すべてが数値型であるが、私は最終的に返すようにしたいとき結果、私は結果として「数字ではありません」を得ます。 誰もがその理由を知っていますか?

週末をお楽しみください!

+0

関連性があるかもしれませんが、 'appropriateReferencialRentability'や' investment'がどこに定義されているのかわからないのですか? – Widor

+0

番号のいくつかの例が役に立ちます... –

+1

実際には、各行の最後にターミネータ( ';')を使用してください。 –

答えて

2

数値型はNaNを返すことができ、それでも数値型です。 updatedAbsoluteResult、適切なReferencialRentability、および投資の値をチェックして、予期しない値があるかどうかを確認します。その方程式の何かが間違っている可能性があります。

0

NaNは、技術的にはまだタイプnumberです。これは通常0による除算に起因します。別のNaNで数学計算を行うと、NaNも返されます。

0

恐らく皮肉なことに、NaN自体はNumberです。

parseInt()コールが失敗した可能性があります。関連するコードを見ずに推測するのは難しいです。

1

問題はresultAgainstReferencialがNaNである可能性があります。お見せするために

typeof NaN == "number" 

:あなたはので、あなたがしている結果を得ている

resultAgainstReferencial = NaN; 
alert(typeof resultAgainstReferencial); // alerts "number" 

あなたも、ここでそれを見ることができます:http://jsfiddle.net/jfriend00/t3ubg/

をだから、どこか上流、あなたがしようとしています数字でないものとの数学。すべての数値入力の値を見て、データがどこに間違っているかを確認する必要があります。

関連する問題