Ⅰ java怎麼把一個字元串里的數字部分從16進制轉化成10進制,非數字部分不變
publicstaticvoidmain(String[]args){
Stringstr="100[]sdfg";
if(str.indexOf("100")!=-1){
str=str.replaceAll("100",Integer.valueOf("100",16).toString());
}if(str.indexOf("df")!=-1){
str=str.replaceAll("df",Integer.valueOf("df",16).toString());
}
System.out.println(str);
}
Ⅱ java中如何把有符號16進制轉換成10進制
String str = "abc"//16進制字元串
Integer.parseInt(str,16);//16轉10
Ⅲ java怎麼把16進制的字元串轉化為十進制
toHexString
public static String toHexString(int
i)以十六進制的無符號整數形式返回一個整數參數的字元串表示形式。
如果參數為負,那麼無符號整數值為參數加上
232;否則等於該參數。將該值轉換為十六進制(基數 16)的無前導 0 的 ASCII 數字字元串。如果無符號數的大小值為零,則用一個零字元 '0'
('\u0030') 表示它;否則,無符號數大小的表示形式中的第一個字元將不是零字元。用以下字元作為十六進制數字:
0123456789abcdef
這些字元的范圍是從 '\u0030' 到 '\u0039' 和從 '\u0061' 到 '\u0066'。如果希望得到大寫字母,可以在結果上調用
String.toUpperCase() 方法:
Integer.toHexString(n).toUpperCase()
參數:
i
- 要轉換成字元串的整數。
返回:
用十六進制(基數 16)參數表示的無符號整數值的字元串表示形式。
// 轉化字元串為十六進制編碼
public static String toHexString(String s)
{
String str="";
for
(int i=0;i<s.length();i++)
{
int ch = (int)s.charAt(i);
String s4
= Integer.toHexString(ch);
str = str + s4;
}
return str;
}
// 轉化十六進制編碼為字元串
public static String toStringHex(String s)
{
byte[] baKeyword = new byte[s.length()/2];
for(int i = 0; i <
baKeyword.length; i++)
{
try
{
baKeyword[i] = (byte)(0xff &
Integer.parseInt(s.substring(i*2, i*2+2),16));
}
catch(Exception e)
{
e.printStackTrace();
}
}
try
{
s = new
String(baKeyword, "utf-8");//UTF-16le:Not
}
catch (Exception e1)
{
Ⅳ 如何將十六進制轉成十進制,在java中
可以通過Integer.parseInt(String s, int radix)方法實現,radix是進制,可以是2(二進制),10(十進制),16(十六進制)等。
舉例:
System.out.print(Integer.parseInt("F", 16)););
結果就是:15。
Ⅳ JAVA將一個十六進制數轉換為十進制數
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String s = input.next();
System.out.println( Integer.parseInt(s, 16));
}
Ⅵ java 16進制怎麼轉10進制
低進制轉化高進制數字應該變小,21的16進制是15;
Integer.parseInt(str,16);
16的意思是將str以16進制解析str為10進制,不是將str轉化為16進制;
10轉16的方法是:
Integer.toHexString(num);
看個例子:
Ⅶ Java十六進制轉換為十進制
import java.util.Scanner;
public class Test60025 {
public static void main(String []args){
int repeat, i;
String s;
System.out.print("輸入Repeat的值:");
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
in.nextLine();
int arr[]=new int[repeat];
for(i=0; i<repeat; i++){
System.out.print("輸入任意字元:");
s=in.nextLine();
arr[i]=Integer.valueOf(captureHex(s), 16);
}
System.out.println("輸出:");
for (int j = 0; j < arr.length; j++) {
System.out.println(arr[j]);
}
}
public static String captureHex(String target){//獲取字元串中十六進制的字元,A與a為同一字元
char ch=0;
String validStr="";
for (int i = 0; i < target.length(); i++) {
ch=target.charAt(i);
if((ch>='0'&&ch<='9')||(ch>='a'&&ch<='f')||(ch>='A'&&ch<='F')){
validStr+=ch;
}
}
if("".equals(validStr)){
System.out.println("非法輸入,此行不含任何十六進制字元");
validStr="0";
}
return validStr;
}
}
Ⅷ java怎麼把16進制的數轉換為10進制的
使用java.math.BigInteger
構造函數BigInteger(String val, int radix) : 將指定基數的 BigInteger 的字元串表示形式轉換為 BigInteger。
new BigInteger("", 16).toString()即可
Ⅸ 使用java,如何將十六進制數D6CD2F01轉換為十進制數19910102
import java.util.Scanner;
public class test2{
public static void main(String [] args){
Scanner cin=new Scanner(System.in);
String num1="D6CD2F01";//"D6CD2F01";
//long n=Long.parseLong(num1,16);//由16進制轉化為10進制(兩個都行,1:返回long;2:返回Long)
long n=Long.valueOf(num1,16);
System.out.print(n);
/*
D6CD2F01的十進制數已經超過int的范圍了
3603771137
*/
}
}