innerHTML メソッドを使用して文字列を変数に取得しました。文字列は次のとおりです。
£ 125.00
<!-- End: pagecomponent/pricesplit -->
125.00 の部分だけが必要です。parseInt() メソッドを使用してこれを整数に変換することは可能ですか? または、125.00 の部分を抽出するにはどうすればよいですか?
ありがとう
innerHTML メソッドを使用して文字列を変数に取得しました。文字列は次のとおりです。
£ 125.00
<!-- End: pagecomponent/pricesplit -->
125.00 の部分だけが必要です。parseInt() メソッドを使用してこれを整数に変換することは可能ですか? または、125.00 の部分を抽出するにはどうすればよいですか?
ありがとう
正規表現を使用して数字とピリオド以外を削除parseInt
し、残りの文字列に対して実行することをお勧めします。
parseInt(yourString.replace(/[^\d.]/g, ''), 10);
ここで正規表現をテストします。内訳は次のとおりです。
/.../
正規表現をラップするために使用する構文です。これらは無視してください。
[...]
文字クラスを作成します。
^
文字クラスの先頭に配置すると、内部のすべてが無効になります。
\d
任意の数字
.
文字通りのピリオド。文字クラス内でエスケープする必要はありません。外部では「任意の文字」を意味し、エスケープする必要があります。
したがって/[^\d.]/
、「数字またはピリオド以外のすべてに一致する」ことを意味し、その後、空の文字列に置き換えます。
のように、数値の小数点以下に有効数字が含まれる可能性がある場合は、代わりに を125.50
使用する必要があります。parseFloat
parseInt
正規表現を使用して値を取得できます。次に例を示します。
var str = '£ 125.00<!-- End: pagecomponent/pricesplit -->';
parseInt((/\d+/).exec(str)[0], 10);
または、ゼロも取得したい場合:
(/\d+\.\d+|\d+/g).exec(str)[0]
parseInt
文字列が数字で始まらない場合は機能しないため、直接使用して取得することはできませparseInt
ん。