Js文字列から数値を抽出


jsは文字列の中の数字を抽出する方法が多く、今日はいくつかのよく使われる方法について話します.
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;

転載は出典を明記してください!