double的小数问题

大眼的小眼 2013-04-07 12:38:12
如果是 1/6 就是保留两位小数输入 0.17
1/10 就是原样输入 0.1
1/0 就是0.0



不知道怎么弄 求解答
...全文
164 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
大眼的小眼 2013-04-09
  • 打赏
  • 举报
回复
谢谢大家了、。。。。。。。。
tianma630 2013-04-07
  • 打赏
  • 举报
回复
DecimalFormat df = new DecimalFormat("#.##"); System.out.println(df.format(1/6.0)); System.out.println(df.format(1/10.0)); 前2个可以通过上面的方法获取 第3个会抛异常 只能自己写方法判断 比如2楼写的
斯蒂芬3色 2013-04-07
  • 打赏
  • 举报
回复
楼上正解....................
吸尘器 2013-04-07
  • 打赏
  • 举报
回复

public double getResult(double a,double b){
		if(b==0)
			return 0;
		String rStr = a/b+"";
		int pointIdx = rStr.indexOf(".");
		if(pointIdx>0 && (pointIdx+2)<rStr.length()){
			double ret = Double.parseDouble(rStr.substring(0,pointIdx+3));
			return Integer.parseInt(rStr.substring(pointIdx+3,pointIdx+4))<5?ret:ret+0.01;
		}
		return a/b;
	}

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧