>  기사  >  백엔드 개발  >  C++에서 문자열을 숫자로 변환하는 방법

C++에서 문자열을 숫자로 변환하는 방법

藏色散人
藏色散人원래의
2020-02-07 10:58:3712189검색

C++에서 문자열을 숫자로 변환하는 방법

c++ 문자열을 숫자로 변환하는 방법은 무엇인가요?

C++ 문자열을 숫자 라이브러리 함수로 변환

1, atoi

함수: 문자열 변환 정수로

Usage:int atoi(const char *nptr);int atoi(const char *nptr);

详细解释:atoi是英文array to integer 的缩写。atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符 /0 时停止转换,返回整型数。 参 数:

  *nptr: 待转化的字符串。

返回值:

 int: 转换后的整形数。

 

2、atol

功 能:把一字符串转换为长整形

用 法:long atol(const char *nptr);

详细解释:atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。

参 数:

  *nptr: 待转化的字符串。

返回值:

 long: 转换后的长整形数。

 

3、atof

功 能:把一个字符串转换为双精度浮点数

用 法:double atof(const char *nptr);

详细解释:atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时 ('/0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。

参 数:

  *nptr: 待转化的字符串。

返回值:

 double: 转换后的双精度浮点数。

 

4、strtod

功 能:将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字

用 法:double strtod(const char *nptr,char **endptr);

详细解释:strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时 ('/0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr 字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。

参 数:

  *nptr: 待转化的字符串。

  **endptr: 若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。

返回值:

 double: 转换后的双精度浮点数。

 

5、strtol

功 能:将字符串转换为长整形值,并报告不能被转换的所有剩余数字

用 法:long int strtol(const char *nptr,char **endptr,int base);

详细解释:这个函数会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制 方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如’0x’前置字符则 会使用16进制做转换、遇到’0’前置字符而不是’0x’的时候会使用8进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字 符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('/0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到 不合条件而终止的nptr中的字符指针由endptr返回。

参 数:

  *nptr: 待转化的字符串。

  **endptr: 若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。

  base:采用的进制方式

返回值:

 long int: 转换后的长整形数。

 

6、strtoul

功 能:将字符串转换为无符号长整形值,并报告不能被转换的所有剩余数字。

用 法:unsigned long int strtoul(const char *nptr,char **endptr,int base);

자세한 설명: atoi는 정수 약어에 대한 영어 배열입니다. atoi()는 매개변수 nptr 문자열을 스캔하고 첫 번째 문자가 숫자나 기호가 아니면 0을 반환합니다. 그렇지 않으면 유형 변환을 시작한 다음 숫자가 아닌 문자나 종결자 /0을 감지하면 변환을 중지합니다. 정수를 반환합니다. 매개변수: #🎜🎜##🎜🎜# *nptr: 변환할 문자열. #🎜🎜##🎜🎜#반환값: #🎜🎜##🎜🎜#int: 변환된 정수. #🎜🎜##🎜🎜# #🎜🎜##🎜🎜#2, atol#🎜🎜##🎜🎜#기능: 문자열을 긴 정수로 변환#🎜🎜##🎜🎜#사용법: long atol(const char *nptr);#🎜🎜##🎜🎜#자세한 설명: atol()은 매개변수 nptr 문자열을 스캔하고 숫자나 양수 및 음수 기호가 나타날 때까지 앞의 공백 문자를 건너뜁니다. 변환을 수행한 후 숫자가 아니거나 문자열의 끝('/0')을 만나면 변환을 종료하고 결과를 반환합니다. #🎜🎜##🎜🎜# 매개변수: #🎜🎜##🎜🎜# *nptr: 변환할 문자열입니다. #🎜🎜##🎜🎜#반환 값: #🎜🎜##🎜🎜# Long: 변환된 긴 정수입니다. #🎜🎜##🎜🎜# #🎜🎜##🎜🎜#3, atof#🎜🎜##🎜🎜#기능: 문자열을 배정밀도 부동 소수점 숫자로 변환#🎜🎜##🎜🎜#사용법: double atof(const char *nptr);#🎜🎜##🎜🎜#자세한 설명: atof()는 매개변수 nptr 문자열을 스캔하고 숫자나 양수를 만날 때까지 앞의 공백 문자를 건너뜁니다. 또는 음수 기호를 만나면 변환이 시작되고, 숫자가 아니거나 문자열의 끝('/0')을 만나면 변환이 종료되고 결과가 반환됩니다. 매개변수 nptr 문자열에는 123.456 또는 123e-2와 같은 지수 부분을 나타내는 더하기 또는 빼기 기호, 소수점 또는 E(e)가 포함될 수 있습니다. #🎜🎜##🎜🎜# 매개변수: #🎜🎜##🎜🎜# *nptr: 변환할 문자열. #🎜🎜##🎜🎜#반환 값: #🎜🎜##🎜🎜# double: 변환된 배정밀도 부동 소수점 숫자입니다. #🎜🎜##🎜🎜# #🎜🎜##🎜🎜#4, strtod#🎜🎜##🎜🎜#기능: 문자열을 배정밀도 부동 소수점 값으로 변환하고 변환할 수 없는 나머지 모든 숫자를 보고합니다. # 🎜🎜##🎜🎜#Usage: double strtod(const char *nptr,char **endptr);#🎜🎜##🎜🎜#자세한 설명: strtod()는 매개변수 nptr 문자를 스캔합니다. 문자열, 앞의 공백 문자를 건너뛰고, 숫자나 양수 또는 음수 기호를 만날 때까지 변환을 시작하지 말고, 숫자가 아닌 값이 나타나거나 문자열의 끝('/0')이 나올 때까지 변환을 종료하지 마십시오. 결과가 반환됩니다. endptr이 NULL이 아닌 경우, 규정되지 않은 조건을 만나면 종료되는 nptr의 문자 포인터는 endptr에서 반환됩니다. 매개변수 nptr 문자열에는 지수 부분을 나타내는 더하기 또는 빼기 기호, 소수점 또는 E(e)가 포함될 수 있습니다. 123.456 또는 123e-2 등. #🎜🎜##🎜🎜# 매개변수: #🎜🎜##🎜🎜# *nptr: 변환할 문자열. #🎜🎜##🎜🎜# **endptr: endptr이 NULL이 아닌 경우, 규정되지 않은 조건이 발생할 때 종료되는 nptr의 문자 포인터가 endptr에서 반환됩니다. #🎜🎜##🎜🎜#반환 값: #🎜🎜##🎜🎜# double: 변환된 배정밀도 부동 소수점 숫자입니다. #🎜🎜##🎜🎜# #🎜🎜##🎜🎜#5, strtol#🎜🎜##🎜🎜#기능: 문자열을 긴 값으로 변환하고 변환할 수 없는 나머지 모든 숫자를 보고합니다#🎜🎜 ## 🎜🎜#사용법: long int strtol(const char *nptr,char **endptr,int base);#🎜🎜##🎜🎜#자세한 설명: 이 함수는 매개변수 nptr 문자를 변경합니다. 문자열은 매개변수 베이스에 따라 긴 정수로 변환됩니다. 기본 매개변수의 범위는 2~36 또는 0입니다. 기준값이 10이면 16진수 시스템이 사용됩니다. 기준값이 0인 경우에는 10진수를 사용하여 변환하지만, '0x'와 같은 선행 문자를 만나면 16진수를 사용하여 '0x' 대신 '0'을 만나면 변환합니다. . 변환에는 8진수를 사용하세요. 처음에 strtol()은 매개변수 nptr 문자열을 스캔하고 앞의 공백 문자를 건너뜁니다. 숫자나 양수 및 음수 기호를 만날 때까지 변환을 시작하지 않습니다. 문자열('/0')을 선택하고 결과를 반환합니다. 매개변수 endptr이 NULL이 아닌 경우, 규정되지 않은 조건이 발생할 때 종료되는 nptr의 문자 포인터는 endptr에 의해 반환됩니다. #🎜🎜##🎜🎜# 매개변수: #🎜🎜##🎜🎜# *nptr: 변환할 문자열. #🎜🎜##🎜🎜# **endptr: endptr이 NULL이 아닌 경우, 규정되지 않은 조건이 발생할 때 종료되는 nptr의 문자 포인터가 endptr에서 반환됩니다. #🎜🎜##🎜🎜# base: 사용된 기본 메서드 #🎜🎜##🎜🎜# 반환 값: #🎜🎜##🎜🎜# long int: 변환된 긴 정수. #🎜🎜##🎜🎜# #🎜🎜##🎜🎜#6, strtoul#🎜🎜##🎜🎜#Function: 문자열을 부호 없는 긴 정수 값으로 변환하고 변환할 수 없는 나머지 모든 숫자를 보고합니다. #🎜🎜##🎜🎜#사용법: unsigned long int strtoul(const char *nptr,char **endptr,int base);#🎜🎜#

자세한 설명: strtoul()은 매개변수 베이스에 따라 매개변수 nptr 문자열을 부호 없는 긴 정수로 변환합니다. 기본 매개변수의 범위는 2~36 또는 0입니다. 기준값이 10이면 16진수 시스템이 사용됩니다. 기준값이 0인 경우 10진수를 사용하여 변환하지만 '0x'와 같은 선행 문자를 만나면 16진수를 사용하여 변환합니다. 처음에 strtoul()은 앞의 공백 문자열을 건너뛰고 매개변수 nptr 문자열을 스캔하고 숫자나 양수 또는 음수 기호를 만날 때까지 변환을 시작하지 않고 숫자가 아닌 문자를 만나면 변환을 종료합니다. 또는 문자열의 끝('')을 선택하고 결과를 반환합니다. 매개변수 endptr이 NULL이 아닌 경우, 규정되지 않은 조건이 발생할 때 종료되는 nptr의 문자 포인터는 endptr에 의해 반환됩니다.

매개변수:

*nptr: 변환할 문자열.

**endptr: endptr이 NULL이 아닌 경우, 규정되지 않은 조건이 발생할 때 종료되는 nptr의 문자 포인터가 endptr에서 반환됩니다.

base: 사용된 기본 메소드

반환 값:

unsigned long int: 변환된 unsigned long 정수.

위 내용은 C++에서 문자열을 숫자로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.