このコードは機能しません:
_var number = $(this).find('.number').text();
var current = 600;
if (current > number){
// do something
}
_
HTML:
_<div class="number">400</div>
_
text()
をテキストのような値から数値に変換する際に問題があるようです。
解決策は何ですか?
常にparseInt
を2番目のパラメーターとして基数(ベース)と共に使用すると、予期しない結果が得られます。
_var number = parseInt($(this).find('.number').text(), 10);
_
ただし、一般的なバリエーションは、単一演算子として_+
_を使用することです。これは常にベース10で変換され、エラーをスローすることなく、単に戻ります。 ゼロ NaN
は、関数isNaN()
でテストできます。無効な数値の場合:
_var number = +($(this).find('.number').text());
_
myInteger = parseInt(myString);
これは標準のjavascript関数です。
Javascript parseIntメソッドを使用します( http://www.w3schools.com/jsref/jsref_parseint.asp )
var number = parseInt($(this).find('.number').text(), 10);
var current = 600;
if (current > number){
// do something
}
基数10であることをparseIntに伝える基数値10を指定することを忘れないでください。
var number = parseInt($(this).find('.number').text());
var current = 600;
if (current > number)
{
// do something
}
number = parseInt(number);
これでうまくいくはずです。
私のような小数でこれをしようとして誰かがここに来た場合:
myFloat = parseFloat(myString);
Intが必要な場合は、他の回答で十分に説明されています。