argcharAt(i) - '0'是将前面的ascii码减去0的ascii码
例如argcharAt(i)表示的是字符f
f的ascii码为102
0的ascii码48
102-48=54
ascii码54 表示的是字符6 (f在26个字母中排第六)假设原字符串为s,用两个函数,两个数组a,b;
一个函数将字符串里的单个字符转换成0-9这几个数字。将字符逐个读入a数组,遇到“”则将点之前的数字合并读入b数组,如:a[2]='',b[1]=a[1]+a[0]10,然后将a数组清空继续读入“”后面的数,直到遇到空格,如:a[1]=a[1]+s[3]/10;
a[2]=a[1]+s[4]/1e2;
然后将a[2]加到b[1]里。/
函数名: CharToInt
参数:
形参:
intString: 保存整数的字符串
返回值:
int: 成功返回转换后的整数,否则返回0
功能:
把字符串转换成整数
例如:
"1200" => 1200
作者: sdh
编写明细:
完成时间 2009-10-23 作者名 sdh
/
int CharToInt(char intString)
{
int i =1;
int j =1;
int b =0;
int a =strlen( intString );
for( i=0 ;i<a ;i++)
{
b = b+(intString[a-i-1]-48)j;
j=j10;
}
return b;
}
这个函数只能将一个字符串中的数字字符转换成一个数字。如果多个数字用空格隔开,我想是不是可以先记录空格的位置,然后求出每个字符函数在数组中的位置,比如b[]="12 21 -2 -3 2 3 6 100 ",-2的位置就是从b[6]到b[7],然后将每个数字字符串当做一个小数组调用我上面的那个函数。分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
在asp中怎么将字符串转换成数组呢
转换后获取数组元素的所有值,以及数组元素的总个数 谢谢!谢谢!
解析:
这用到VB中的ARRAY函数~
准确地说,一维数组Myarray的元素个数为:UBOUND(Myarray)-LBOUND(Myarray)+1,而二维数组的元素个数则为:(UBOUND(Myarray)-LBOUND(Myarray)+1)(UBOUND(Myarray,2)-LBOUND(Myarray,2)+1)~多维数组以次类推~
获取数组元素的所有值的话,用个循环就OKString s = "485729304";
int[] a = new int[slength()];
for(int i = 0; i < slength(); i++)
{
//先由字符串转换成char,再转换成String,然后Integer
a[i] = IntegerparseInt( StringvalueOf(scharAt(i)));
}
//字符串中的数据一定要是数字,否则会出现异常
scharAt(i);得到字符串i位置的值,
StringvalueOf(); 转换char类型为字符串
IntegerparseInt();由String转换成Integer主要是通过包装类提供字符串与整型的转换方法来实现的;
我写了个例子你可以试一下:
String str = "12,34,65,85,45,11"; //定义一个由整型构成的字符串
String[] strArr = strsplit(","); //然后使用split方法将字符串拆解到字符串数组中
Integer[] intArr = new Integer[strArrlength]; //定义一个长度与上述的字符串数组长度相通的整型数组
for(int a=0;a<strArrlength;a++){
intArr[a] = IntegervalueOf(strArr[a]); //然后遍历字符串数组,使用包装类Integer的valueOf方法将字符串转为整型
}
for(int b=0;b<intArrlength;b++){
Systemoutprintln(intArr[b]);
}js 快速将字符串数组 转化为 数字数组(互换)
为什么会用到这个?
场景:接口返回了'1,2,3,4'字符串格式的数据,前端需要用的是数值数组格式的,使用 split(',') 分割后的数组变成了 ["1", "2", "3", "4"] ,并不是我要的格式,所以这时候需要 map(Number) 格式化一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)