将16进制字符串转换为整数输出

原创 2015年07月07日 10:05:19

一个16进制字符串,可能是带负号的,也可能是非法的(g1234),把它转换为10进制整数输出。


public class HexToDecmal {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		System.out.println(toDecmal("-1g"));
	}
	
	public static int toDecmal(String in) throws Exception{
		int len = in.length();
		char firstChar =in.charAt(0);
		boolean flag =true;
		int sum=0;
		int end=0;
		if(firstChar=='-')
		{
			flag=false;    //标志是否为负数
			end=1;
		}
		for(int i=0;len-i-1>=end;i++){
			int n = Character.digit(in.charAt(len-i-1), 16);
			//System.out.println("n="+n);
			if(n==-1)
				throw new Exception("format exception");
			sum += n*(1<<(4*i));
			//System.out.println("sum="+sum);
		}
		if(flag)
			return sum;
		else
			return -sum;
	}

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言:将16进制字符串转化为int类型值

将16进制字符串值转换为 in

SQL SERVER 字符串转16进制自定义函数

外部系统导入到数据库的数据可能包含非法字符, 可以通过转16进制函数查看: CREATE FUNCTION dbo.StrToHex(@str varchar(100)) RETURNS ...

MySQL 将十六进制转化为十进制

(CAST(0x41 AS UNSIGNED)
  • dyzhen
  • dyzhen
  • 2012-07-06 11:46
  • 2903

MySQL 转换函数与运算符

Table 12.14 转换函数(Cast Function) BINARY 将 string 转换为二进制 stringCAST() 将某个值转换为特定类型CONVERT()将某个值转换为特定类型B...

MSSQL 关于16进制与字符串以及10进制的简单转换,以及SQL的16进制的截取

关于数据库的16进制类型转换,其实在数据库里面没有16进制这个类型,它用的都是2进制类型varbinary存储16进制的数据,特别是要转成10进制的时候,那就只能16进制->2进制->10进制。   ...

将16进制字符串转换为16进制数值的两种方法

方法一: 主要用到sscanf这个库函数: 函数名: sscanf 功 能: 执行从字符串中的格式化输入 用 法: int sscanf(char *string, char *forma...

面试题--位操作--将十进制数转换为16进制字符串输出

这是一道面试题: 编程实现将十进制数转换为16进制输出,不得使用任何已定义的库函数,比如string,math等。 char * get16String(long num) { int...
  • abilly
  • abilly
  • 2014-04-21 16:57
  • 2198

二进制、10进制、16进制整数和字符串转换

十进制转换为二进制代码      ? 1 2 3 4 5 6 7 8 9 10 11 12 13...

[面试]16进制字符串转为10进制整数

题目看起来很容易,但实际上陷阱很多

pb字符串和16进制转换

  • 2016-12-16 21:11
  • 17KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)