首页 > 试题广场 >

请写一个简单的函数,将一个十六进制字符串转换为数字。

[问答题]
请写一个简单的函数,将一个十六进制字符串转换为数字。
问题叙述不清楚啊,要求的数字是多少进制的?
返回10进制的数:(如果是需要返回其他进制的数,继续转换就行)
public Integer stringToInt(String str){ //16进制的字符串转换为10进制数字  Integer s = Integer.valueOf(str,16); return s;
}

编辑于 2017-02-28 16:35:56 回复(0)
#include<iostream>
#include<string>
using namespace std;
int StrtoInt(string str)
{
  int sum=0;
  int len=str.length();
  for(int i=0;i<len;i++)
  {
     if(str[i]>='0'&&str[i]<='9')
		 sum=sum*16+str[i]-'0';
	 else if(str[i]>='a'&&str[i]<='f')
		 sum=sum*16+str[i]-'a'+10;
	 else if(str[i]>='A'&&str[i]<='F')
		 sum=sum*16+str[i]-'A'+10;
  }
  return sum;
}
int main()
{ 
	string str1;
	cin>>str1;
	int result=StrtoInt(str1);
	cout<<result<<endl;
   system("pause");
}

发表于 2017-03-21 14:14:50 回复(0)