把一个16进制 或8进制转换为10进制的函数
2010-09-12 20:12
274 查看
这是一个面试题 下一个函数 把16进制 或8进制转换为10进制的数 考验程序员的代码熟练程度 一下是我写的转换函数 如有意见请留言
import java.io.IOException;
import java.util.*;
public class bb {
/**
* 此函数是把16进制和8进制转换为10进制的方法
*
*
* @param args
*/
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个十六进制数:");
String number=input.next();
double shu=zhuan(number);
System.out.println(number+"的十进制是:"+shu);
}
public static double zhuan(String shu){
double num=0;
double hi;
for (int i = 0; i < shu.length(); i++) {
String ren=shu.substring(shu.length()-i-1, shu.length()-i);
if(ren.equals("A")){
hi=10;
}else if(ren.equals("B")){
hi=11;
}else if(ren.equals("C")){
hi=12;
}else if(ren.equals("D")){
hi=13;
}else if(ren.equals("E")){
hi=14;
}else if(ren.equals("F")){
hi=15;
}else{
hi=Double.parseDouble(ren);
}
double jia=Math.pow(16, i) * hi;//16进制转换
//double jia=Math.pow(8, i) * hi;//8禁止转换
num+=jia;
}
return num;
}
}
import java.io.IOException;
import java.util.*;
public class bb {
/**
* 此函数是把16进制和8进制转换为10进制的方法
*
*
* @param args
*/
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个十六进制数:");
String number=input.next();
double shu=zhuan(number);
System.out.println(number+"的十进制是:"+shu);
}
public static double zhuan(String shu){
double num=0;
double hi;
for (int i = 0; i < shu.length(); i++) {
String ren=shu.substring(shu.length()-i-1, shu.length()-i);
if(ren.equals("A")){
hi=10;
}else if(ren.equals("B")){
hi=11;
}else if(ren.equals("C")){
hi=12;
}else if(ren.equals("D")){
hi=13;
}else if(ren.equals("E")){
hi=14;
}else if(ren.equals("F")){
hi=15;
}else{
hi=Double.parseDouble(ren);
}
double jia=Math.pow(16, i) * hi;//16进制转换
//double jia=Math.pow(8, i) * hi;//8禁止转换
num+=jia;
}
return num;
}
}
相关文章推荐
- C# 16进制转换10进制相关函数详解
- C# 16进制转换10进制相关函数详解
- C# 16进制转换10进制相关函数详解
- 一个简单的16进制转换10进制
- C# 16进制转换10进制相关函数详解
- C# 16进制转换10进制相关函数详解
- 导师作业:2、编写一个函数,将一个整数值转换为16进制表示的字符串。
- 这个字符串参数必须包含一个或多个数字,函数应该把这些 数字字符转换为整数并返回这个整数。如果字符串参数包含 了任何非数字字符,函数就返回零。
- 把一个内容为16进制 的文本文件,转换成10进制的文本文件
- 将一个整数转换为单个字符输出函数实现的细节性问题
- 一个Asp中将小写金额转换为大写的函数
- 2进制、8进制、16进制相互转换
- 请编写一个 C 函数,该函数将给定的一个整数转换成字符串
- 实现一个函数stringToInt,实现把字符串转换成整数这个功能
- 【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。
- .编写一个函数,将一个数字字符串转换成该字符串对应的数字
- 写一个字符串函数,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- Delphi下将字符串转换成16进制的小函数
- java中 8进制 10进制 2进制 16进制 相互转换