C++中如何实现把一个字符串常量里数字的转换成整型

C++中怎么把字符串string型的数字转换成整型int型的数字?_百度知道
C++中怎么把字符串string型的数字转换成整型int型的数字?
南唐小主李煜知道合伙人
来自知道合伙人认证团队
南唐小主李煜
知道合伙人
采纳数:481
获赞数:1598
擅长:暂未定制
&int&str2int(&string&str)&{&&&&int&i,len&=&str.size(),num&=&0&;&&&&i&=&0&;&&&&&&&if&(str[&0&]&==&'&-&'&)&&&&&&&i&=&1&;&&&&&&&while&(i&&&len)&&&&{&&&&&&&num&=&num&*&10&+&(&int&)(str[i]&-&'&0&'&);&&&&&&&i&++&;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&if&(str[&0&]&==&'&-&'&)&&&&&&&num&*=&-&1&;&&&&return&}&string&int2str(&int&num)&{&&&&if&(num&==&0&)return&&&0&&&;&&&&string&str&=&&&&;&&&&int&num_&=&num&&&0&?&num :&-&1&*&&&&&while&(num_)&&&&{&&&&&& str&=&(&char&)(num_&%&10&+&48&)&+&num_&/=&10&;&&& }&&&&&&if&(num&&&0&)&&&&&& str&=&&&-&&&+&&&&&return&}
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言如何将一个整型数值转化为字符_百度知道
C语言如何将一个整型数值转化为字符
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
wchyumo2011知道合伙人
来自电脑网络类芝麻团
wchyumo2011
采纳数:3999
获赞数:11429
参与团队:
int iV//整型数char sz[10];//字符串sprintf(sz, &%d&, iValue);//这句需要头文件#include &stdio.h&/*或者*/itoa(iValue, sz, 10); //这句需要头文件#include &ctype.h&sprintf类似于printf,printf比sprintf少第一个参数,就是直接在输出界面输出相应的东西,而sprintf就是将你要输出的东西按相应格式存放到第一个参数的字符串中。itoa是直接将整型数转化成字符串
为你推荐:
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。一个普通人
c++中怎样把字符转换为整型
如果要读取string s=““这个string类型的字符串时,肯定要把里面的年月日转换为int型。但是s[2]读取的是ascaII码
while(isdigit(s[i]))
year=year*10+s[i]-'0';
如果加s[i]的话,加的是ascaii码,减去‘0’的意思是减去0的ascaii码,刚好等于s[i]对应的int型整数
C++ 整型和字符串相互转换
几种c/c++中字符串转整形的方法
C++ 整形和字符串之间的转换
C++字符串和整数相互转换
将char字符转换成int整型,字符串与整型之间的相互转换
字符串转整型与整型转字符串
如何把字符串型数据转换为整型
java 中整型与字符型的相互转换
将字符型数字转化为整型数字
没有更多推荐了,C/C++字符串和数字互换方案收集(转)
▲1、C语言标准库函数atoi()等。
函数名: atoi
功 能: 把字符串转换成整型数
用 法: int atoi(const char *nptr);
#include &stdlib.h&
int main(void)
char *str = "435";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
其他相关函数——
函数名: atof
功 能: 把字符串转换成浮点数
用 法: double atof(const char *nptr);
#include &stdlib.h&
int main(void)
char *str = "12345.67";
f = atof(str);
printf("string = %s float = %f\n", str, f);
函数名: atol
功 能: 把字符串转换成长整型数
用 法: long atol(const char *nptr);
#include &stdlib.h&
int main(void)
char *str = "";
l = atol(lstr);
printf("string = %s integer = %ld\n", str, l);
return(0);
▲2、sprintf与Format构造字符串——
sprintf和printf都是C的产物,用法几乎一样,只是前者打印到字符串,后者直接在命令行上输出。
int sprintf( char *buffer, const char *format [, argument] … );
除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串(想想printf吧,一样的)。例:
#include &iostream&
int main()
double a(3112);
char s1[10],s2[10];
sprintf(s1,"%d\n",(int)a);
sprintf(s2,"$%.2lf",a);
std::cout&&s1&&s2&&std::
在C++里,也可用Format(CString) :
/*VS2005中,项目/属性/配置属性里字符集设置为未配置*/
#include &iostream&
#define _AFXDLL
#include &afx.h&
int main()
double a(32);
s.Format("$%.2lf",a);
std::cout&&s&&std::
▲3、字符串流stringstream提供的转换和/或格式化。
#include &iostream&
#include &vector&
#include &string&
#include &sstream&
int main()
int num(435);
mystream&&num&&"\n";
/*创建一个名为mystream的ostringstream类型空对象,
并将指定的内容插入该对象。此时mystream的内容是以下字符:
s=mystream.str();
#include &iostream&
#include &vector&
#include &string&
#include &sstream&
int main()
string s("435");
istringstream mystream(s);
mystream&&/*num=435*/
cout&&num&&
▲4、自己写函数。
/*串到数,实参如("435",&number)*/
void getnumber_from_string(char nums[],int *p)
int i,k=strlen(nums);
for(i=0,(*p)=0;i&k;++i)
(*p)+=pow_10(k-i-1)*(*(nums+i)-48);
int pow_10(int k) /*10的k次方*/
return (k==0?1:10*pow_10(k-1));
C++字符串转化为数字的库函数
c/c++ 数字转成字符串, 字符串转成数字
C/C++字符串和数字互换方案收集★
C/C++字符串和数字互换方案收集
★C/C++字符串和数字互换方案收集★
c/c++ 数字转成字符串, 字符串转成数字
Linux 中C语言 字符串与整数之间的转换
c/c++ 字符串,字符转数字,数字转字符
C/C++字符串与数字的相互转化
Linux环境C语言把整数转换成字符串再保存该字符串数据为文本
没有更多推荐了,博客分类:
[size=] 字符串和整型的相互转换[/size]
整型到字符的转换有三种方法:
利用c语言的函数
函数原形 char *itoa(int value, char *string, int radix) 将整形数value转换为其等价的字符串
头文件stdlib.h
Parameters(参数说明)
第一个参数:value
Number to be converted(将要被转换的值)
第二个参数:string
String result(转换的结果)
第三个参数:radix
B must be in the range 2 – 36(转换的基数,取值范围2-36。例如
radix=10表示10进制,radix=8表示8进制。) 返回值:与string参数相同,便于函数的嵌套调用 例子:(来自MSDN,有删改)
#include &stdio.h&
#include &stdlib.h&
void main( void )
char buffer[20];
itoa( i, buffer, 10 );
printf( &String of integer %d (radix 10): %s\n&, i, buffer );
itoa( i, buffer, 16 );
printf( &String of integer %d (radix 16): 0x%s\n&, i, buffer );
itoa( i, buffer, 2
printf( &String of integer %d (radix 2): %s\n&, i, buffer );
system(&pause&);
通过CString格式化字符串
str.Format("a=%d",a);
用sprintf格式化字符
函数原型: int sprintf( char *buffer, const char *format [, argument] ... );
举例说明:
char buffer[10];
sprintf("size=%d";a);
浏览: 92037 次
来自: 上海
还有,如果是IE,记得在debug的时候清缓存。Firefox ...
可是你上传的附件是什么东东哦!
我也遇到了这个问题。
运行没反应,不知道怎么回事
自己顶一个,没人发表一下言论
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 字符串是什么 的文章

 

随机推荐