JavaScript文字列と数字の相互変換

2733 ワード

js文字列は数字に変換されます.
js文字列変換の数字方法は主に3つあります.変換関数、強制タイプ変換、JS変数の弱タイプの特徴を利用して変換する1.変換関数:jsはparseInt()とparseFloat()の2つの変換関数を提供します.前者は値を整数に変換し、後者は値を浮動小数点に変換します.これらの方法はStringタイプに対してのみ正しく動作することができます.他のタイプに対してはNaN(Not a Number)が返されます.文字列を数字に変換するには、パーミッション関数が必要です.
パー秒Int(string):関数はstringの開始から解析して、1つの整数を返します.
例:
parseInt("1234blue"); //returns 1234

parseInt("0xA"); //returns 10

parseInt("22.5"); //returns 22

parseInt("blue"); //returns NaN
数値が解析されない場合は、NaNの値を返します.isNaN()関数で検出できます.例:
if (isNaN(i))
{
console.log('NaN value');
}
parseInt()方法は、バイナリ、8進数、16進数、または他の任意の進数の文字列を整数に変換することもできる.ベースはパーrseInt()方法の第二のパラメータで指定されています.例は以下の通りです.
parseInt("AF", 16); //returns 175

parseInt("10", 2); //returns 2

parseInt("10", 8); //returns 8

parseInt("10", 10); //returns 10

          0,        10,               。  :

parseInt("010"); //returns 8

parseInt("010", 8); //returns 8

parseInt("010", 10); //returns 10
同様のパーミッションFloat関数は文字列を浮動小数点に変換する.
例:parseFloat('31.24 abc'):31.24を返します.また、parseFloat()は進数の区分がない.2.強制タイプ変換
強制タイプ変換(type casting)を使用して変換値の種類を処理することもできます.強制型変換を使用すると、他のタイプのものであっても、特定の値にアクセスできます.
ECMAScriptで使用できる3つのタイプの強制変換は以下の通りです.
Boolean(value)——与えられた値をBoolean型に変換する.
Number(value)――与えられた値を数値に変換する(整数または浮動小数点でもよい).
String(value)——与えられた値を文字列に変換します.
この3つの関数の1つで値を変換すると、元の値から直接変換された値が格納される新しい値が作成されます.これは思わぬ結果をもたらす.
変換する値が少なくとも1文字の文字列、0以外の数字またはオブジェクトである場合、Boolean()関数はtrueに戻ります.この値が空の文字列、数字0、undefinedまたはnullの場合、falseに戻ります.
Number()の強制タイプ変換は、パーrseInt()とパーrseFloat()の方法の処理方法と似ていますが、部分値ではなく全体の値に変換されます.例は以下の通りです
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
3.js変数を利用した弱型変換
例:


 var str= '012.345 ';

 var x = str-0;

 x = x*1;


上記の例では、jsの弱タイプの特徴を利用して算術演算のみを行い、文字列から数字のタイプへの変換を実現しましたが、この方法はまだ推奨されていません.
js数字を文字列に変換
文字列を数字に変換するには、String類のtoString方法が必要です.
例:
var i = 10;

var s = i.toString();

alert(typeof s); //    String

js数字と文字列の違い
jsの数字の足し算と文字列の接続はすべて+記号ですから、プラスかそれとも文字列の接続かは変数の種類によって決まります.
例:
var a = 'abc' + 'xyz'; //a   :abcxyz,          

var a = 10 + 5; //a   :15,    

var a = 'abc' + 10; //a   :abc10,      ,   10       

var a = 'abc' + 10 + 20 + 'cd'; //a   :abc1020cd

var a = 10 + 20 + 'abc' + 'cd'; //a   :30abccd,          ,