我是靠谱客的博主 紧张灰狼,最近开发中收集的这篇文章主要介绍Java 任意进制转换成10进制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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进制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部