Problem Description
输入一个0-1的八进制小数。让你输出转换成十进制的值
思路:
Java学习中 八进制 123.456 十进制 1*8^2 + 2*8^1 + 3*8^0 + 4*8^(-1) + 5*8^(-2) + 6*8^(-3)
import java.io.*;
import java.util.*;
import java.math.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
String st = cin.next();
int len = st.length();
BigDecimal ans = BigDecimal.ZERO;//初始化为0
for(int i = 2; i < len; i++)
{
BigDecimal a = new BigDecimal(st.charAt(i) - '0');
BigDecimal b = new BigDecimal("8");
ans = ans.add(a.divide(b.pow(i-1)));
}
System.out.println(st + " [8] = " + ans + " [10]");
}
}
}