JavaScript中将字符串类型转换为整形的函数

JavaScript中将字符串类型转换为整形的函数,第1张

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码

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12182616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存