如何转换带小数点的负数和数字,二进制,十六进制,八进制,十进制

时间:2012-05-28 12:47:27

标签: java converter

我想制作转换器十进制,二进制,十六进制,八进制。这就是我现在使用java库

设法做的事情
import java.text.*;
import java.util.*;

public class convertitore {

public static void main(String[] args){

Scanner scanner = new Scanner(System.in);
String binario = null; 
String ottale = null;
int decimale = 0, sel;
String esa = null;

System.out.println("Choose the type of number to convert: ");
System.out.println("Enter 1 for decimal");
System.out.println("Enter 2 for binary");
System.out.println("Enter 3 for hexadecimal");
System.out.println("Enter 4 for octal");

sel = scanner.nextInt();


if (sel == 1){

System.out.println("Enter a decimal number: ");
decimale = scanner.nextInt();

esa = java.lang.Integer.toHexString(decimale);
binario = java.lang.Integer.toBinaryString(decimale);
ottale = java.lang.Integer.toOctalString(decimale); 
System.out.println("The decimal number entered is: " + decimale);
System.out.println("The hexadecimal number entered is: " + esa);
System.out.println("The binary number entered is: " + binario);
System.out.println("The octal number entered is: " + ottale);

}

if (sel == 2){

System.out.println("Enter a binary number: ");
binario = scanner.next();

decimale = Integer.parseInt(binario.toString(),2);
esa = java.lang.Integer.toHexString(decimale);
ottale = java.lang.Integer.toOctalString(decimale); 
System.out.println("The binary number entered is: " + binario);
System.out.println("The hexadecimal number entered is:  " + esa);
System.out.println("The decimal number entered is:  " + decimale);
System.out.println("The octal number entered is:  " + ottale);

}

if (sel == 3){

System.out.println("Inserisci un numero binario: ");
esa = scanner.next();

decimale = Integer.parseInt(esa.toString(),16);
binario = java.lang.Integer.toBinaryString(decimale);
ottale = java.lang.Integer.toOctalString(decimale); 
System.out.println("Il numero esadecimale inserito è: " + esa);
System.out.println("Il numero inserito in binario è: " + binario);
System.out.println("Il numero inserito in decimale è: " + decimale);
System.out.println("Il numero inserito in ottale è: " + ottale);

}

if (sel == 4){

System.out.println("Inserisci un numero binario: ");
ottale = scanner.next();

decimale = Integer.parseInt(ottale.toString(),8);
esa = java.lang.Integer.toHexString(decimale);
binario = java.lang.Integer.toOctalString(decimale);

System.out.println("Il numero ottale inserito è: " + ottale);
System.out.println("Il numero inserito in esacemale è: " + esa);
    System.out.println("Il numero inserito in decimale è: " + decimale);
    System.out.println("Il numero inserito in binario è: " + binario);  
}   
}
}

但我想改进转换,使用带小数点和负数的数字,你会对我有什么建议吗?

1 个答案:

答案 0 :(得分:0)

为了转换带小数点的数字,您可以使用课程Double及其方法toHexStringdoubleToLongBits