0

innerHTML メソッドを使用して文字列を変数に取得しました。文字列は次のとおりです。

£ 125.00
<!-- End: pagecomponent/pricesplit -->

125.00 の部分だけが必要です。parseInt() メソッドを使用してこれを整数に変換することは可能ですか? または、125.00 の部分を抽出するにはどうすればよいですか?

ありがとう

4

2 に答える 2

3

正規表現を使用して数字とピリオド以外を削除parseIntし、残りの文字列に対して実行することをお勧めします。

parseInt(yourString.replace(/[^\d.]/g, ''), 10);

ここで正規表現をテストします。内訳は次のとおりです。

/.../正規表現をラップするために使用する構文です。これらは無視してください。

[...]文字クラスを作成します。

^文字クラスの先頭に配置すると、内部のすべてが無効になります。

\d任意の数字

.文字通りのピリオド。文字クラス内でエスケープする必要はありません。外部では「任意の文字」を意味し、エスケープする必要があります。

したがって/[^\d.]/、「数字またはピリオド以外のすべてに一致する」ことを意味し、その後、空の文字列に置き換えます。

のように、数値の小数点以下に有効数字が含まれる可能性がある場合は、代わりに を125.50使用する必要があります。parseFloatparseInt

于 2013-01-21T13:29:20.757 に答える
1

正規表現を使用して値を取得できます。次に例を示します。

var str = '£&nbsp;125.00<!-- End: pagecomponent/pricesplit -->';
parseInt((/\d+/).exec(str)[0], 10);

または、ゼロも取得したい場合:

(/\d+\.\d+|\d+/g).exec(str)[0]

parseInt文字列が数字で始まらない場合は機能しないため、直接使用して取得することはできませparseIntん。

于 2013-01-21T13:29:14.983 に答える