고급 JavaScript (4) js 문자열을 숫자로 변환하는 세 가지 방법

黄舟
풀어 주다: 2017-02-11 14:42:42
원래의
2005명이 탐색했습니다.

js 문자열을 숫자로 변환하는 세 가지 방법

js에서 텍스트 상자나 기타 양식 데이터를 읽을 때 얻은 값은 문자열 유형입니다. 예를 들어 두 개의 텍스트 상자 ab, a11이고, b11입니다. 값이 9 ,이면 a.valueb.value보다 작아야 합니다.모두 문자열 형식이기 때문입니다

.

크게 세 가지 방법이 있습니다: 변환 함수, 강제 유형 변환, js 사용

가변약형 변환.

변환 기능

jsparseInt()을 제공합니다. parseFloat()두 가지 변환 함수. 전자는 값을 정수로 변환하고 후자는 값을 부동 소수점 숫자로 변환합니다. String 유형에서 이러한 메서드를 호출해야만 이 두 함수가 다른 유형에 대해 올바르게 실행될 수 있으며 NaN(Not a Number) .

몇 가지 예는 다음과 같습니다.

코드는 다음과 같습니다:

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
로그인 후 복사

parseInt() 메서드에는 기본 모드도 있는데, 이 모드에서는 2진수, 8진수, 16진수 또는 기타 기본 문자열을 정수로 변환할 수 있습니다. 베이스는 parseInt() 메소드의 두 번째 매개변수로 지정됩니다. 예시는 다음과 같습니다.

코드는 다음과 같습니다 :

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
로그인 후 복사

십진수 앞에 0이 포함된 경우 다음을 사용하는 것이 좋습니다. 실수로 8진수 값을 얻지 않도록 기본 10입니다. 예를 들면 다음과 같습니다.

코드는 다음과 같습니다:

parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
로그인 후 복사

parseFloat() 메소드는 parseInt() 메소드와 동일합니다.

parseFloat() 메서드 사용의 또 다른 차이점은 문자열이 소수 형식의 부동 소수점 숫자, parseFloat()를 나타내야 한다는 것입니다. 기본 모드가 없습니다.

다음은 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
로그인 후 복사

강제 유형 변환

유형 캐스팅(type)을 사용할 수도 있습니다. casting) 변환된 값의 유형을 처리합니다. 다른 유형이더라도 특정 값에 액세스하려면 캐스트를 사용하십시오.

ECMAScript사용 가능한 캐스트의 세 가지 유형은 다음과 같습니다.

부울(값)——주어진 값을 Boolean 유형으로 변환합니다.

Number(value)——주어진 값을 Number로 변환합니다( 정수 또는 부동 소수점 숫자);

String(value) - 주어진 값을 문자열로 변환합니다.

<🎜>

用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。

当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0undefinednull,它将返回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&#39;t work, causes an error
로그인 후 복사


利用js变量弱类型转换

代码如下:

<script>
var str= &#39;012.345 &#39;;
var x = str-0;
x = x*1;
</script>
로그인 후 복사


上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的

美文美图


以上就是JavaScript进阶(四)js字符串转换成数字的三种方法的内容,更多相关内容请关注PHP中文网(www.php.cn)!


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿