将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;
	}

}


【比特币】十六进制字符串转换成整数数组

反序列化字符串格式得到dazheng
  • wuzh1230
  • wuzh1230
  • 2014年07月15日 11:10
  • 1413

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

将16进制字符串值转换为 in
  • wl1524520
  • wl1524520
  • 2014年05月13日 14:09
  • 19266

十进制 十六进制字符串转换成数字

估计大家第一印象是atoi。实际上atoi遇到"0x1234"时不好用,而我觉得最好用的就是strtol和strtoul,看解析: 以下来自:http://huigezrx.blog.163.com...
  • lanmanck
  • lanmanck
  • 2013年03月07日 15:55
  • 5126

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

方法一: 主要用到sscanf这个库函数: 函数名: sscanf 功 能: 执行从字符串中的格式化输入 用 法: int sscanf(char *string, char *forma...
  • superbfly
  • superbfly
  • 2013年09月12日 10:47
  • 2745

MS SQL Server10进制和16进制之间的互相转换

MS SQL Server10进制和16进制之间的互相转换
  • misterliwei
  • misterliwei
  • 2015年03月09日 18:23
  • 10971

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

(CAST(0x41 AS UNSIGNED)
  • dyzhen
  • dyzhen
  • 2012年07月06日 11:46
  • 3489

JAVA--长整数与16进制字符串互相转换

一般情况下,我们在对java中10进制与16进制互相转换的时候,通常是采用下列方法(以long类型为例): 10进制化为16进制:String Long.toHexString(Long v);...
  • e_wsq
  • e_wsq
  • 2015年04月28日 12:21
  • 9507

Log4j的进阶使用-自定义类和+自定义输出日志类型+输出文件

自定义java类 package com.sitech.nbc.util; import java.io.ByteArrayOutputStream; import java.io.PrintWr...
  • z69183787
  • z69183787
  • 2016年06月28日 16:05
  • 4749

5-1 字符串转换成十进制整数 (15分) (这是补上的7月6号)

5-1 字符串转换成十进制整数   (15分) 输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果...
  • qq_34952846
  • qq_34952846
  • 2016年07月08日 19:39
  • 2246

将一个十六进制“字符串”转换为十进制数值的问题

将一个十六进制“字符串”转换为十进制数值的问题
  • ixidof
  • ixidof
  • 2010年12月16日 23:43
  • 15026
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将16进制字符串转换为整数输出
举报原因:
原因补充:

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