将字符串数字转换为整数变量int的两种方法
2013-04-14 16:46
441 查看
/**************************************************************/
// 输入“-123” 输出 -123 正数没有符号,负数有符号,假设所有字符串的值没有超过int的表示范围
/*********************************************************************/
#include<iostream>
#include<string>
#include<cstring>
#include<stdexcept>
#include<sstream>
using namespace std;
// 方法1
int f(const char*p)
{int flag=0,//标示正负数
v=0,
len=0,//不包括负号
sum=0;
if(p!=NULL)
{ if(*p=='-')
{flag=1;
++p;
}
len=strlen(p);
for(int i=0;i<len;++i)//遍历字符串
{ if(*(p+i)==48)
continue;
else
{ v=*(p+i)-48;
for(int j=len-i;j>1;--j)
v=v*10;
sum+=v;
}
}
return flag? -1*sum:sum;
}
else
throw runtime_error("输入非法无法转换");
}
//方法2
int f_(const char*p)//没有进行p的安全检测
{ int v=0;
string s=p;
istringstream in(s);
in>>v;
return v;
}
int main(void)
{ const char*a="2442";
cout<<f(a)<<endl;
cout<<f_(a)<<endl;
return 0;
}
// 输入“-123” 输出 -123 正数没有符号,负数有符号,假设所有字符串的值没有超过int的表示范围
/*********************************************************************/
#include<iostream>
#include<string>
#include<cstring>
#include<stdexcept>
#include<sstream>
using namespace std;
// 方法1
int f(const char*p)
{int flag=0,//标示正负数
v=0,
len=0,//不包括负号
sum=0;
if(p!=NULL)
{ if(*p=='-')
{flag=1;
++p;
}
len=strlen(p);
for(int i=0;i<len;++i)//遍历字符串
{ if(*(p+i)==48)
continue;
else
{ v=*(p+i)-48;
for(int j=len-i;j>1;--j)
v=v*10;
sum+=v;
}
}
return flag? -1*sum:sum;
}
else
throw runtime_error("输入非法无法转换");
}
//方法2
int f_(const char*p)//没有进行p的安全检测
{ int v=0;
string s=p;
istringstream in(s);
in>>v;
return v;
}
int main(void)
{ const char*a="2442";
cout<<f(a)<<endl;
cout<<f_(a)<<endl;
return 0;
}
相关文章推荐
- 使用C#,不使用任何Parse,TryParse,Convert方法,将数字字符串转换成整数
- 网友面试题:C#,不使用任何Parse,TryParse,Convert方法,自写函数将数字字符串转换成整数
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- 不用字符串数组将一整数转换为各个数字组成的int[]数组
- 利用指针完成将一个数字字符串转换为int整数的程序。
- java 实现将String字符串大写中文数字转换成int类型整数
- 判断输入字符串是否等效Int32位数字的两种方法:int.TryParse(string s,out int result)和 Try Catch
- int类型转换成字符串和字符串转换成int类型以及在MFC静态文本框显示数字的方式方法
- C语言atoi()函数:将字符串转换成int(整数) 会自动把里面的非数字抛出 转换是数字的
- JavaScript进阶(四)js字符串转换成数字的三种方法
- js 字符串转换成数字的三种方法, 取float型小数点后两位数的方法
- 如何将整数int转换成字符串String?
- js字符串转换成数字与数字转换成字符串的实现方法
- CString,字符串,整数等相互转换方法
- 将一个字符串转换为一个整数,若遇到非数字字符则返回0
- C语言中将数字转换为字符串的方法
- 十六进制字符串转换成int方法
- python字符串转换成变量的几种方法
- java中判断字符串是否为数字的两种方法
- C# 实现数字字符串左补齐0的两种方法