Js文字列から数値を抽出
jsは文字列の中の数字を抽出する方法が多く、今日はいくつかのよく使われる方法について話します.
jsが提供する方法の取得
js文字列は数値を変換します.方法は主に3種類の変換関数,強制型変換,js変数を用いた弱いタイプ変換がある.
parseIntメソッド
明らかに、これは面倒に見えます.また、java言語にはparseInt()メソッドもあり、中に伝わる文字列には非数値がある限り、コンパイル実行はエラーを提示します.JsのparseInt()メソッドは、非デジタル文字列を伝えることができ、文字列の前でそのまま実行される限り、非デジタル文字が停止することを知っています.重要なのは、数値が数値文字列でない前になければならないことです.
parseInt()メソッドについては、2番目のパラメータもあります.2番目のパラメータは、1番目のパラメータの進数を表します.
parse関数は何ですか?プログラム間で渡される文字列(テキストタイプ)は、使用時に必要なタイプに変換されます.parse関数は文字列をparseInt()$.parseHTML()
せいそくほうしき
文字に数字が挟まっている場合
広がる
jsはparseInt()とparseFloat()の2つの変換関数を提供する.前者は値を整数に変換し,後者は値を浮動小数点数に変換する.Stringタイプに対してこれらのメソッドを呼び出すと、この2つの関数が正しく動作します.他のタイプに対して返されるのはNaN(Not a Number)です.
parseInt()メソッドには、バイナリ、8進数、16進数、または他の任意の進数の文字列を整数に変換するベースモードもあります.ベースはparseInt()メソッドの2番目のパラメータで指定されます.
10進数にプリアンブル0が含まれている場合は、8進数の値が意図的に得られないように、基数10を用いることが望ましい.
parseFloat()メソッドはparseInt()メソッドと同様にparseFloat()メソッドを使用する別の違いは、文字列が浮動小数点数を10進数で表さなければならず、parseFloat()にはベースモードがないことである.
ECMAScriptで使用可能な3つの強制タイプは、Boolean(value)--与えられた値をBoolean型に変換する.Number(value)--与えられた値を数値に変換する(整数または浮動小数点数であってもよい).String(value)--与えられた値を文字列に変換します.この3つの関数の1つで値を変換すると、元の値から直接変換された値を格納する新しい値が作成されます.これは予想外の結果をもたらす.変換する値が少なくとも1文字の文字列、0以外の数値、またはオブジェクトである場合(次のセクションで説明します)、Boolean()関数はtrueを返します.値が空の文字列、数値0、undefined、nullの場合、falseが返されます.
転載は出典を明記してください!
jsが提供する方法の取得
js文字列は数値を変換します.方法は主に3種類の変換関数,強制型変換,js変数を用いた弱いタイプ変換がある.
parseIntメソッド
var str ="4500 ";
var num = parseInt(str);
alert(num);//4500
// , , 。
var str =" :4500 ";
var num = parseInt(str);
alert(num);//NaN
// , , : , 。 , " :"
var str =" :4500 ";
var num = parseInt(str.substring(1).substring(1).substring(1));
alert(num);//4500
明らかに、これは面倒に見えます.また、java言語にはparseInt()メソッドもあり、中に伝わる文字列には非数値がある限り、コンパイル実行はエラーを提示します.JsのparseInt()メソッドは、非デジタル文字列を伝えることができ、文字列の前でそのまま実行される限り、非デジタル文字が停止することを知っています.重要なのは、数値が数値文字列でない前になければならないことです.
parseInt()メソッドについては、2番目のパラメータもあります.2番目のパラメータは、1番目のパラメータの進数を表します.
parseInt("11", 2); // :3 , 2 , 10
parse関数は何ですか?プログラム間で渡される文字列(テキストタイプ)は、使用時に必要なタイプに変換されます.parse関数は文字列をparseInt()$.parseHTML()
せいそくほうしき
var s =" 4500 ";
var num= s.replace(/[^0-9]/ig,"");
alert(num);//4500
文字に数字が挟まっている場合
var s =" 4500 , :2";
var num = s.replace(/[^0-9]/ig,"");
alert(num);//45002
広がる
jsはparseInt()とparseFloat()の2つの変換関数を提供する.前者は値を整数に変換し,後者は値を浮動小数点数に変換する.Stringタイプに対してこれらのメソッドを呼び出すと、この2つの関数が正しく動作します.他のタイプに対して返されるのはNaN(Not a Number)です.
parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
parseInt()メソッドには、バイナリ、8進数、16進数、または他の任意の進数の文字列を整数に変換するベースモードもあります.ベースはparseInt()メソッドの2番目のパラメータで指定されます.
parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
10進数にプリアンブル0が含まれている場合は、8進数の値が意図的に得られないように、基数10を用いることが望ましい.
parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
parseFloat()メソッドはparseInt()メソッドと同様にparseFloat()メソッドを使用する別の違いは、文字列が浮動小数点数を10進数で表さなければならず、parseFloat()にはベースモードがないことである.
parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN
ECMAScriptで使用可能な3つの強制タイプは、Boolean(value)--与えられた値をBoolean型に変換する.Number(value)--与えられた値を数値に変換する(整数または浮動小数点数であってもよい).String(value)--与えられた値を文字列に変換します.この3つの関数の1つで値を変換すると、元の値から直接変換された値を格納する新しい値が作成されます.これは予想外の結果をもたらす.変換する値が少なくとも1文字の文字列、0以外の数値、またはオブジェクトである場合(次のセクションで説明します)、Boolean()関数はtrueを返します.値が空の文字列、数値0、undefined、nullの場合、falseが返されます.
Boolean
Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
Number() parseInt() parseFloat() , ,
Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
String()
var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error
js
var str= '012.345 ';
var x = str-0;
x = x*1;
転載は出典を明記してください!