怎么将输入string串转成double,int, float类型的?

perfecttt 2009-10-09 09:13:29
怎么将输入string串转成double,int, float类型的?将一个思路就行。我有思路,就是觉得算法不是很好。
...全文
159 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinken547 2009-10-09
  • 打赏
  • 举报
回复
学习,学习.....
昵称很不好取 2009-10-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mstlq 的回复:]
C/C++ code
istringstream stream1;string string1="25";
stream1.str(string1);int i;
stream1>> i;
cout<< i<< endl;// displays 25
[/Quote]
楼上功力好深厚,羡慕一个
mstlq 2009-10-09
  • 打赏
  • 举报
回复

istringstream stream1;
string string1 = "25";
stream1.str(string1);
int i;
stream1 >> i;
cout << i << endl; // displays 25
mstlq 2009-10-09
  • 打赏
  • 举报
回复
c++吗?
可以使用stringstream
zhuiqiu668 2009-10-09
  • 打赏
  • 举报
回复
atoi()
atof()
两个已经够用了,没必要自己再去写了...

简单的实现atoi函数的源代码(例子):
  int my_atoi(const char *str){
  int result= 0;
  bool signal = false;
  if((*str>='0'&&*str<='9')||*str=='-'||*str=='+'){
  if(*str=='-'||*str=='+'){
  if(*str=='-')
  signal = true;
  str++;
  }
  }
  else
  return 0;
  while(*str>='0'&&*str<='9')
  result = result*10+(*str++ -'0');
  return signal?-result:result;
  以上源代码有一个缺点,就是没有检查最大值,因为int的值是有范围的。
wuyanchao 2009-10-09
  • 打赏
  • 举报
回复
同意ls
晒月光的青蛙 2009-10-09
  • 打赏
  • 举报
回复
atoi
atof
自己写的话就判断ASCII值吧

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧