0

私は昨日同様の質問をしました..たとえば0-9999がある場合、これを09999に変換するにはどうすればよいですか?基本的に-を削除してjavascriptで整数にしますか?

var = 0-9999

それを9999整数に変換します

またはvar=2-9999、それを29999に変換します

本当にありがとう

4

4 に答える 4

5

これでうまくいくはずです:

num = num.replace(/[^0-9]+/g, '') * 1;

数字以外の文字をすべて取り除き、変数を整数に変換します。これがjsFiddleのデモンストレーションです。

于 2013-02-01T20:51:48.060 に答える
4

最も明白で基本的なソリューションは次のとおりです。

var s = "1-2345";
var t = s.replace("-","");
var i = parseInt(t,10);

しかし、それは多くの仮定を行い、エラーを無視しています。

于 2013-02-01T20:51:57.827 に答える
1

これを試して:

var i = '0-9999';
var int = Number(i.replace('-', ''));
window.alert(int);

Firefoxでは、parseInt()基数を渡さない限り、先行ゼロでは機能しないことに注意してください(これはバグのようです)。

var int = parseInt(i.replace('-', ''), 10);

フィドラー

于 2013-02-01T20:53:04.983 に答える
0

それを覚えておいてください

var x = 2-9999

と同じです

var x = -9997

ダッシュは、引用符を使用しない限り、減算記号と見なされるためです(シングルまたはダブル、関係ありません)。

したがって、テキストを適切に引用すると仮定すると、次の関数を使用して、テキストの任意の場所にある文字を常に引き出すことができます(ゼロベースのインデックスを使用)。

function extractChar(myString,locationOfChar){
    var y = myString.substring(0,locationOfChar-1)
    var z = myString.substring(locationOfChar+1)
    var s = y.concat(z)
    var i = parseInt(s,10)
    return i 
}

したがって

var i = extractChar("2-9999",1)

と同じになります

var i = 29999
于 2013-02-01T21:10:25.883 に答える