parseInt() 函数可解析一个字符串,并返回一个整数。
语法
parseInt(string, radix)参数 描述
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
返回值
返回解析后的数字。
说明
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
提示和注释
注释:只有字符串中的第一个数字会被返回。
注释:开头和结尾的空格是允许的。
提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
实例
在本例中,我们将使用 parseInt() 来解析不同的字符串:
parseInt("10"); //返回 10
parseInt("19",10); //返回 19 (10+9)
parseInt("11",2); //返回 3 (10+9)
parseInt("17",8); //返回 15 (8+7)
parseInt("1f",16); //返回 31 (16+15)
parseInt("010"); //未定:返回 10 或 8
TIY
parseInt()
如何使用 parseInt() 来解析不同的字符串。
1)全部转成大写---strupr
函数原型:charstrupr(charsrc)
函数说明:将字符串src转换成大写形式,只转换src中出现的小写字母,不改变其他字符
返回值:返回指向src的指针。
2)全部转成小写---strlwr
函数原型:charstrlwr(charsrc)
函数说明:将字符串src转换成小写形式,只转换src中出现的大写字母,不改变其他字符
返回值:返回指向src的指针。
char _itoa( int value, char string, int radix );
参数说明:
value
要转化的数
string
转化完的字符串
radix
转化的进制,2进制,填2,10进制,填10
int atoi( const char string );
在Microsoft Office Excel中
VALUE函数
功能:将代表数字的文本字符串转换成数字。
调用格式:=VALUE(Text)
Text为带引号的文本,或对需要进行文本转换的单元格的引用。Text 可以是 Microsoft Excel 中可识别的任意常数、日期或时间格式。
如果 Text 不为这些格式,则函数 VALUE 返回错误值
#VALUE!。
例1:单元格A1中是字符”1234“
在单元格B1中使用:=VALUE(A1),将返回数值1234。
例2:=VALUE("$1,000") ,将返回字符串的等价数字1000。
c语言中,可以使用atoi()函数将字符串转化成整数型并输出。
atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。
如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。
扩展资料:
C语言常用函数:
1、int abs(int i)
返回整型参数i的绝对值。
2、double cabs(struct complex znum)
返回复数znum的绝对值。
3、double fabs(double x)
返回双精度参数x的绝对值。
4、long labs(long n)
返回长整型参数n的绝对值。
5、double exp(double x)
返回指数函数ex的值。
6、double frexp(double value,int eptr)
返回value=x2n中x的值,n存贮在eptr中。
7、double ldexp(double value,int exp)
返回value2exp的值。
8、double log(double x)
返回logex的值。
9、double log10(double x)
返回log10x的值。
10、double pow(double x,double y)
返回x^y的值。
-atoi
具体的方法是:循环处理字符字符串中的每个字符,将其转化为相应的数,然后加起来,最后就可以得到转化后的整数 我这个程序可以处理字符串范围为长整型的取值范围 这个函数源码如下: ------------------------------------------------------------------ long toInteger( char str ) { long result = 0; int len; int i = 0; long tmp; len = strlen( str ); while ( i < len ) { tmp = str++ - '0'; if ( 9 < tmp ) { printf( "\"%c\" is not a number!\n" , tmp + '0' ); break; } tmp = pow( 10 , len - i - 1 ); result += tmp; i ++; } return result; } 本函数可以对输入的字符串进行错误识别,若包含非数字字符则报错(函数没有考虑输入为负数) 关于这个函数的使用方法,以下为一个例子 程序源代码如下,已通过调试编译,可以运行: ---------------------------------------------------------------------- #include "stdioh" #include "mathh" #include "stringh" long toInteger( char str ); int main() { char str = "123456"; long a; clrscr(); a = toInteger( str ); printf( "%ld\n" , a ); return 0; } long toInteger( char str ) { long result = 0; int len; int i = 0; long tmp; len = strlen( str ); while ( i < len ) { tmp = str++ - '0'; if ( 9 < tmp ) { printf( "\"%c\" is not a number!\n" , tmp + '0' ); break; } tmp = pow( 10 , len - i - 1 ); result += tmp; i ++; } return result; }
字符串本身就是ASCII码的数组呀
使用%s打印的就是字符串
使用%d一位一位的打印就是ASCII码了
for(i=0;i<strlen(a);i++){
printf("%d ",a[i]);
}
上面的打印就是打印字符串的ASCII码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)