文字列を数値に変換する3つの方法

2466 ワード

最近よくあるタイプ転換についての問題は、いっそのことインターネット検索でここでまとめてみます.
js文字を数字に変換するには、主に変換関数、強制型変換、js変数を利用した弱型変換の3つの方法があります.
1.変換関数:
jsは、ParseInt()とParseFloat()の2つの変換関数を提供する.前者は値を整数に変換し、後者は値を浮動小数点に変換します.これらの方法はStringタイプに対してのみ呼び出すことができ、これらの2つの関数は正しく動作し、他のタイプに対してはNaNを返します.
パースイント関数
文字列を解析し、整数を返します.
parseInt(string,radix)
ラジオはオプションです.解析する数値の基数(進数)を表します.この値は2~36の間にあります.
このパラメータが省略されているか、またはその値が0である場合、数字は10をもとに解析されます.「0 x」または「0 X」で始まると、16を基数とします.
このパラメータが2以下であるか36以上である場合、パー秒Int()はNaNに戻る.
戻り値:解析後の数字を返します.
*文字列の最初の文字が数字に変換されない場合、パーパーミッション()はNaNに戻ります.
*stringが「0 x」で始まると、パー秒Int()はstringの残りの部分を16進数の整数として解析します.
*stringが0で始まると、その後の文字を8進または16進の数字に解析することができます.
*stringが1~9の数字で始まると、パー秒Int()は10進数の整数に解析します.
いくつかの例は以下の通りです.
parseInt(「1234 blue」);returns 1234
parseInt("0 xA")//returns 10
parseInt(「22.5」)//returns 22
parseInt(「blue」)//returns NaN
parseInt()方法はまた、基本モードがあり、バイナリ、8進数、16進数、または他の任意の進数の文字列を整数に変換することができる.基本数は、パーrseInt()方法の第二のパラメータによって指定されています.例は以下の通りです.
 
parseInt("AF",16); //returns 175
parseInt("10",2); //returns 2
parseInt("10",8); //returns 8
parseInt("10",10); //returns 10
 10進数に先頭0が含まれているなら、基数10を採用したほうがいいです.そうすると、意外に8進数の値が得られます.たとえば:
 
parseInt("010"); //returns 10
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
 パーrseFloat()関数は、文字列を解析し、浮動小数点を返します.
この関数は、文字列の最初の文字が数字であるかどうかを判断し、そうであれば文字列を解析し、文字列としてではなく数字で返します.
*パラメータ文字列の最初の文字が解析されて数字にならない場合、パーパーミッションFloatはNaNに戻ります.
*rseFloatの戻り結果がNaNかどうかは、isNaN関数を呼び出して判断することができます.
*先頭と末尾のスペースは許容されます.
*数字の整数部分だけを解析したい場合は、パー秒Int()を使用してください.
例は以下の通りです
 
parseFloat("1234blue"); //returns 1234
parseFloat("0xA"); //returns 0
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908  //  parseFloat       0 0   
parseFloat("blue"); //returns NaN
 ParseFlaoat()方法はパーrseInt()方法と似ていますが、パーrseFloatは10進数で浮動小数点を表しなければならず、ベースパターンがないという点で違います.
 
2.強制タイプ変換
Boolean(value)——与えられた値をBoolean型に変換する.
Number(value)――与えられた値を数値に変換する(整数または浮動小数点でもよい).
String(value)——与えられた値を文字列に変換します.
3.js変数を利用した弱型変換
例を挙げてみます.見れば分かります.
var str=5332355';
var x=str-0
x=x*1
 
jsの弱いタイプの特徴を利用して、算術演算のみを行い、文字列から数字のタイプへの変換を実現しましたが、この方法はまだ推奨されていません.いくつかの安全問題があります.