-1

フィールドの整数値を取得するには、これを使用する必要がありました。

var local = {};
local.result = $('#myID').val();
local.result = parseInt(0 + local.result);
return local.result;

Q: 代わりに、値または値でない場合は数値 0 を返す何らかの jQuery メソッドなどのベスト プラクティスはありますか?

もっとjQueryが必要です!

4

3 に答える 3

2

一部のブラウザーでは、で始まる数字0が基数 8 であると見なされるため、コードはひどく失敗します。代わりにこれを試してください:

return parseInt(document.getElementById('myID').value,10) || 0;
于 2013-03-21T00:43:08.893 に答える
0

「ベスト プラクティス」は相対的なものです。他の人にとって最善の方法が、あなたにとって最善であるとは限りません。

値が正の整数かどうかを確認したい場合は、正規表現が適している可能性があります。

var intRe = /^\d+$/;
var el = document.getElementById('id');
el.value = intRe.test(el.value)? el.value || 0;

負の整数をテストする場合は、正規表現を変更して、オプションの先行マイナス記号 (-) を許可します。

var intRe = /^\-?d+$/;

便宜上、先頭と末尾の空白を削除することをお勧めします。2.343e3 は有効な正の整数であることに注意してください。

于 2013-03-21T01:06:28.333 に答える
0

+valを使用して、任意の文字列を数値に強制することができますstr

元の投稿のように、数値以外の値が可能で、デフォルトを 0 にしたい場合:

var num = +str || 0;

JSFiddle: http://jsfiddle.net/F8wWN/2/

関連する JS 忍者のトリック: JavaScript で = +_ が意味するもの

float 変換を暗示しているかどうかはわかりません。そうでなければ、あなたはそれをすることができないので、それはすでに整数のようparseIntですよね?

于 2013-03-21T00:41:46.443 に答える