poj 1131 Octal Fractions(高精度小数进制转换) Java

举报
xindoo 发表于 2022/04/15 23:50:00 2022/04/15
【摘要】 虽然题目那么长其实就是把8进制的浮点数转换成10进制,为了练习Java Biginteger 类 我这里用的是Java,也可以用数组模拟。 import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Scanner; public cl...

虽然题目那么长其实就是把8进制的浮点数转换成10进制,为了练习Java Biginteger 类 我这里用的是Java,也可以用数组模拟。

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		String str, ors;
		BigDecimal x, y, z;
		while (cin.hasNext()) {
			ors = cin.next();
			str = ors.substring(ors.indexOf(".")+1, ors.length());
			z = new BigDecimal(0);
			y = new BigDecimal(1);
			for (int i = 0; i < str.length(); i++) {
				x = new BigDecimal(str.charAt(i) - '0');
				y = y.multiply(new BigDecimal(8));
				x = x.divide(y, str.length()*3, RoundingMode.HALF_UP);
				z = z.add(x);
			}
			System.out.println(ors + " [8] = " + z + " [10]");
		}
		cin.close();
	}
}


文章来源: xindoo.blog.csdn.net,作者:xindoo,版权归原作者所有,如需转载,请联系作者。

原文链接:xindoo.blog.csdn.net/article/details/11112763

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。