변환 방법: 1. "-", "*", "/", "%", "++", "--" 등의 연산자를 사용합니다. 2. "숫자(값)" 문을 사용합니다. . "parseInt(stringNum)" 문을 사용하십시오. 4. "parseFloat(stringNum)" 문을 사용하십시오.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
javascript는 문자열을 숫자로 변환합니다
방법 1: -
、*
、/
、%
、++
, -- 등의 연산자를 사용합니다.
JavaScript는 자동으로 문자열을 숫자로 변환하고, 숫자로 변환할 수 없는 문자는 변환합니다. NaN 으로. 예:
alert("30"/5); //除运算,结果为:6 alert("15"-5); //减运算,结果为:10 alert("20"*"a"); //乘运算,结果为:NaN alert("20"%"3"); //取模运算,结果为:2
var num1 = "6"; var num2 = "6"; var num3 = "a"; alert(++num1); //将字符串转换为数字再进行++运算,结果为:7 alert(--num2); //将字符串转换为数字再进行--运算,结果为:5 alert(++num3); //字符串无法转换为数字,结果为:NaN
방법 2: Number() 함수 사용
Number() 함수는 매개 변수를 숫자로 변환할 수 있습니다.
형식은 다음과 같습니다.
Number(value)
Number()는 전체 작업을 수행합니다. 매개변수 값 변환, 매개변수 값에 어디에서나 숫자로 변환할 수 없는 기호가 포함된 경우 변환이 실패하고 NaN이 반환됩니다. 그렇지 않으면 변환된 숫자가 반환됩니다.
Number()는 매개변수를 숫자로 변환할 때 다음 규칙을 따릅니다.
매개변수에 숫자만 포함된 경우 숫자 앞에 -, -가 오면 앞에 오는 0과 공백을 무시하고 십진수로 변환됩니다. 변환 결과에 유지됩니다. 숫자 앞에 +가 있으면 변환 후 + 기호가 삭제됩니다.
매개변수에 유효한 부동 소수점 숫자가 포함되어 있으면 무시하고 해당 부동 소수점 숫자로 변환합니다. 선행 0 및 선행 공백; 숫자 앞에 -가 있으면 변환 결과에 -가 유지됩니다. 숫자 앞에 +가 있으면 변환 후 + 기호가 삭제됩니다. 유효한 16진수는 해당 크기의 10진수로 변환됩니다.
매개변수가 빈 문자열이면 0으로 변환됩니다.
매개변수가 부울 값이면 true입니다. 1로 변환되고 false는 0으로 변환됩니다.
매개변수가 null이면 0으로 변환됩니다.
매개변수가 정의되지 않으면 NaN으로 변환됩니다. 매개변수가 날짜 객체인 경우 1970년 1월 1일부터 변환이 수행된 시간까지의 밀리초 수로 변환됩니다.
매개변수가 함수인 경우 2개 이상의 요소를 포함하는 배열 객체, Date 객체를 제외한 다른 객체는 NaN으로 변환됩니다.
매개 변수에 공백, + 및 - 또는 숫자가 아닌 문자를 제외한 다른 특수 기호 또는 공백, +, - 매개변수 중간에서 NaN으로 변환됩니다.
alert(Number("0010")); //去掉两个前导0,结果为:10 alert(Number("+010")); //去掉前导0和+,结果为:10 alert(Number("-10")); //转换后保留“-”号,结果为:-10 alert(Number('')); //空字符串的转换结果为:0 alert(Number(true)); //布尔值true的转换结果为:1 alert(Number(null)); //null值的转换结果为:0 var d = new Date(); //创建一个Date对象 alert(Number(d)); //转换Date对象,结果为1970.1.1至执行转换时的毫秒数:1511351635179 alert(Number("100px")); //参数中包含了不能转换为数字的字符px,结果为:NaN alert(Number("100 01")); //参数中包含了空格,导致整个参数不能转换,结果为:NaN alert(Number("100-123")); //参数中包含了“-”,导致整个参数不能转换,结果为:NaN var a; //声明变量 alert(Number(a)); //变量a没有赋值,因而a的值为undefined,转换undefined的结果为:NaN var fn = function (){alert(1);}; //创建一个函数对象 alert(Number(fn)); //转换函数,结果为:NaN alert(Number(window)); //转换window对象,结果为:NaN
위 예에서 Number()가 전체적으로 변환되는 것을 볼 수 있으며, 임의의 위치에 잘못된 문자가 포함되면 변환이 실패하게 됩니다. 다음에 소개하는 두 함수와 Number()의 차이점은 변환이 왼쪽에서 오른쪽으로 비트 단위로 수행된다는 점입니다. 변환할 수 없는 비트가 있으면 변환이 즉시 중지되고 변환에 성공한 값이 반환됩니다.
parseInt() 함수는 매개 변수를 정수로 변환할 수 있습니다.
형식은 다음과 같습니다.
parseInt(stringNum,[radix])
stringNum 매개 변수는 정수로 변환해야 하는 문자열입니다. radix 매개변수는 2~ 36 사이의 숫자는 stringNum 매개변수의 기본 번호를 나타내며, 값이 10인 경우 생략 가능합니다. parseInt()는 기수를 기본으로 하는 stringNum 문자열 매개변수를 십진수로 구문 분석하는 데 사용됩니다. stringNum 문자열이 유효한 문자로 시작하지 않으면 NaN이 반환됩니다. 구문 분석 프로세스 중에 잘못된 문자가 발견되면 구문 분석이 즉시 중지되고 구문 분석된 값이 반환됩니다.
parseInt()는 문자열을 정수로 구문 분석할 때 다음 규칙을 따릅니다.
문자열을 구문 분석할 때 문자열 앞에 -가 있으면 문자열 앞뒤의 공백은 무시됩니다. 변환 결과; 숫자 앞에 +가 있으면 변환 후 + 기호가 삭제됩니다.
문자열 앞에 공백, + 및 - 또는 a~f를 제외한 숫자가 아닌 문자가 있으면; 또는 A~F), 문자열은 구문 분석되지 않으며 결과는 NaN입니다.
문자열에 공백, +, - 및 소수점 "."과 같은 숫자가 아닌 문자나 특수 기호가 포함된 경우 구문 분석이 수행됩니다. 중지하고 구문 분석된 결과를 반환합니다.
문자열이 빈 문자열이면 반환 결과는 NaN입니다.
변환 예:
alert(parseInt("1101",2)); //以2为基数的1101字符串解析后的结果为:13 alert(parseInt("a37f",16)); //以16为基数的a37f字符串解析后的结果为:41855 alert(parseInt("123")); //以10为基数的123字符串解析后的结果为:123 alert(parseInt(" 123")); //字符串前面的空格会被忽略,结果为:123 alert(parseInt("12 3")); //字符串中包含了空格,解析到空格时停止,结果为12 alert(parseInt("12.345")); //字符串中包含了小数点,解析到小数点时停止,结果为12 alert(parseInt("xy123")); //字符串前面包含了非数字字符“x”,无法解析,返回结果为:NaN alert(parseInt("123xy4")); //字符串中包含了非数字字符“xy”,解析到“x”时停止,结果为:123
parseFloat()함수는 매개변수를 부동 소수점 숫자로 변환할 수 있습니다.
형식은 다음과 같습니다.
parseFloat(stringNum)
stringNum 매개변수는 문자열입니다. 부동 소수점 숫자로 구문 분석됩니다. parseFloat() 的作用是将首位为数字的字符串转解析成浮点型数。若 stringNum 字符串不是以合法的字符开头,则返回 NaN;解析过程中如果遇到不合法的字符,将马上停止解析,并返回已经解析的值。 parseFloat() 在解析字符串为整数时,遵循以下规则: 解析字符串时,会忽略字符串前后的空格;如果字符串前面为-,-会保留在转换结果中;如果数字前面为+,转换后将删掉+号;如果字符串前面为小数点.转换结果会在小数点前面添加 0; 如果字符串前面为除空格、+、-和。以外的特殊符号,字符串将不会被解析,返回结果为 NaN; 在字符串中包含了空格、+和-等特殊符号或非数字的字符时,解析将在遇到这些字符时停止,并返回已解析的结果; 在字符串中包含两个以上为小数点时,解析到第二个小数点时将停止解析,并返回已解析的结果; 如果字符串是空字符串,返回结果为 NaN。 转换示例: 【推荐学习:javascript高级教程】 위 내용은 자바스크립트에서 문자열을 숫자로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!alert(parseFloat("312.456"));//结果为:312.456
alert(parseFloat("-3.12"));//字符串前面的“-”将保留,结果为:-3.12
alert(parseFloat("+3.12"));//字符串前面的“-”将保留,结果为:3.12
alert(parseFloat(".12"));//在小数点前面添加0,结果为:0.12
alert(parseFloat(" 3.12"));//截掉字符串前面的空格,结果为:3.12
alert(parseFloat("312.4A56"));//字符串中包含非数字字符A,解析到A时停止,结果为:312.4
alert(parseFloat("31 2.4A56"));//字符串中包含空格,解析到空格时停止,结果为:31
alert(parseFloat("31.2.5"));//字符串中包含两个小数点,解析到第二个小数点时停止,结果为:31.2
alert(parseFloat("a312.456"));//字符串前面为非数字字符a,解析无法进行,结果为:NaN