首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java转发换16进制字符串为int与C语言中atoi不同

2012-06-20 
java中转换16进制字符串为int与C语言中atoi不同C语言中:atoi的结果是1234java 中:String str 31323334

java中转换16进制字符串为int与C语言中atoi不同
C语言中:



atoi的结果是1234

java 中:
String str = "31323334";
System.out.println(Integer.parseInt(str, 16));
结果是:825373492

这是为什么呢?

[解决办法]
不知道LZ想问什么?

Java code
String s = "1234";Integer i = Integer.valueOf(s);char[] c = s.toCharArray();System.out.printf("%d|%x%x%x%x", i, (int)c[0], (int)c[1], (int)c[2], (int)c[3]);
[解决办法]
好像明白LZ的意思了
lz你在C里面 char[] ss = "31323334";
然后调用 atoi(ss),能出来1234 ?

Java code
String s = "31323334";int r = 0;for (int i=0; i<s.length(); i+=2) {    System.out.println(s.substring(i,i+2));    r = r*10 + Integer.valueOf(s.substring(i,i+2), 16).intValue() - (int)'0';}System.out.println(r); 

热点排行