概述
import java.util.Scanner;
import java.lang.Math;
public class test4 {
public static void main(String[] args) {
System.out.println("请输入数据::");
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println("这是什么进制?::");
double R = sc.nextDouble();
Conversion2 cv = new Conversion2();
System.out.println("十进制为::");
System.out.println(cv.getnumber(str, R));
sc.close();
}
}
class Conversion2{
String str;
String prestr,laststr;
int num;
int getMiddle(String str)
{
this.str = str;
for(int i =0;i<str.length();i++)
{
if(str.charAt(i)=='.')
{
return i;
}
}
return str.length();
}
double deBgN(String str,double R)
{
double num=0;
int middle =getMiddle(str);
for(int i =0;i<middle;i++)
{
// System.out.println((int)Math.pow(2.0,middle-i-1));
if((int)str.charAt(i)>64)
{
// System.out.println((str.charAt(i)-'0'-7));
num=num+((str.charAt(i)-'0'-7)*(int)Math.pow(R,middle-1-i));
}
else
{
num=num+((str.charAt(i)-'0')*(int)Math.pow(R,middle-1-i));
}
}
return num;
}
double deEdN(String str,double R)
{
double num = 0.0;
int middle =getMiddle(str);
for(int i=str.length()-1;i>middle;i--)
{
if((int)str.charAt(i)>64)
{
num=num+((double)(str.charAt(i)-'0'-7)*Math.pow(R,(i-middle)*-1));
}
else
{
num=num+((double)(str.charAt(i)-'0')*Math.pow(R,(i-middle)*-1));
}
}
return num;
}
double getnumber(String str,double R)
{
return deEdN(str,R)+deBgN(str, R);
}
}
最后
以上就是紧张灰狼为你收集整理的Java 任意进制转换成10进制的全部内容,希望文章能够帮你解决Java 任意进制转换成10进制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复