フィールドの整数値を取得するには、これを使用する必要がありました。
var local = {};
local.result = $('#myID').val();
local.result = parseInt(0 + local.result);
return local.result;
Q: 代わりに、値または値でない場合は数値 0 を返す何らかの jQuery メソッドなどのベスト プラクティスはありますか?
もっとjQueryが必要です!
フィールドの整数値を取得するには、これを使用する必要がありました。
var local = {};
local.result = $('#myID').val();
local.result = parseInt(0 + local.result);
return local.result;
Q: 代わりに、値または値でない場合は数値 0 を返す何らかの jQuery メソッドなどのベスト プラクティスはありますか?
もっとjQueryが必要です!
一部のブラウザーでは、で始まる数字0
が基数 8 であると見なされるため、コードはひどく失敗します。代わりにこれを試してください:
return parseInt(document.getElementById('myID').value,10) || 0;
「ベスト プラクティス」は相対的なものです。他の人にとって最善の方法が、あなたにとって最善であるとは限りません。
値が正の整数かどうかを確認したい場合は、正規表現が適している可能性があります。
var intRe = /^\d+$/;
var el = document.getElementById('id');
el.value = intRe.test(el.value)? el.value || 0;
負の整数をテストする場合は、正規表現を変更して、オプションの先行マイナス記号 (-) を許可します。
var intRe = /^\-?d+$/;
便宜上、先頭と末尾の空白を削除することをお勧めします。2.343e3 は有効な正の整数であることに注意してください。
+val
を使用して、任意の文字列を数値に強制することができますstr
。
元の投稿のように、数値以外の値が可能で、デフォルトを 0 にしたい場合:
var num = +str || 0;
JSFiddle: http://jsfiddle.net/F8wWN/2/
関連する JS 忍者のトリック: JavaScript で = +_ が意味するもの
float 変換を暗示しているかどうかはわかりません。そうでなければ、あなたはそれをすることができないので、それはすでに整数のようparseInt
ですよね?