热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何通过精确计算使2除以3的结果接近0.66?

在Java编程中,若需实现两个整数(例如2和3)相除并保留两位小数的结果,可以通过精确计算方法来达到预期效果。具体而言,可以利用BigDecimal类进行高精度运算,确保2除以3的结果准确显示为0.66。此外,还可以通过格式化输出来控制小数位数,确保最终结果符合要求。
各位大虾:
    我向问个java的初始问题:现我有两个整数,如2,3.
    我想让他们相除后等于保留两位得小数,如 2/3 结果为 0.66。
    我该如何做?

    谢谢!

19 个解决方案

#1


java中取保留小数位时用啥api好些?如上所示

#2


Float

#3


Float

#4


指得是float的intBitsToFloat(int myint)嘛?
能详细些吗?

#5


HELP?
我怎么能把double OR float 的小数位给取到呢?怎么保留2位小数?

#6


剛寫的不知道是否正確
試一試吧
public String zhh(double dou)
{
 try
 {
  aaa=String.valueOf(dou);
 }
 catch (Exception ex1)
 {
 aaa="0.00";
 }
 
 int bbb=aaa.indexOf('.');
 if(bbb==-1)
 {
 aaa=aaa+".00";
 }
 if(aaa.length()-bbb==1 && bbb!=-1)
 {
  aaa=aaa+"00";
 }
 if(aaa.length()-bbb==2 && bbb!=-1)
 {
  aaa=aaa+"0";
 }
 aaa=aaa.substring(0,aaa.indexOf('.')+3);
 return aaa;
}

#7


new java.math.BigDecimal(Float).setScale(2,5)就可以实现,其中的2表示保留两位小数,其中的5表示四舍五入

#8


我定义了一个float f,中间对其进行了计算。
当我想用int i=f.intValue()把f转换成int时,确发生了错误。不知道为什么。

#9


double x=2/3;
x=((int)(x*100))/100

#10


樓上的經典
不過好像要
double x=(double)2/3;

#11


楼上的好方法!
收藏!

#12


好!

学习!

#13


good

#14


import java.util.* ;
import java.text.* ;
public class Hashtest {
public static void main(String[] args) {
DecimalFormat oFormat1 = new DecimalFormat("##.##")  ;
DecimalFormat oFormat2 = new DecimalFormat("##.##%")  ;

double s = (double)2/3 ;
System.out.println(s);
String strResult1 = oFormat1.format(s);
System.out.println(strResult1);
strResult1 = oFormat2.format(s);
System.out.println(strResult1);
}
}
供参考

#15


/**
 * 保留小数
 * int num -小数位数
 * double value 数字
 */
private double changeDecimal(int fraction,double value){
BigDecimal b= new BigDecimal(value);
double v=b.setScale(fraction, BigDecimal.ROUND_HALF_UP).doubleValue();// 表明四舍五入,保留两位小数
return v;
}

现在是四舍五入的
把BigDecimal.ROUND_HALF_UP改一下,就是不进位了。
你做个参考吧

#16


DecimalFormat df = new DecimalFormat("#####0.00"); 
df.format(变量);

#17


谢谢楼上各位!问题解决了。

#18


haha

乘100除了再除100,这种自己编写"API"的技巧,一定要随时随地地加以运用,因为:
API实在太多,谁也不愿意去查找帮助,查找API,常用的API都是自己写算法解决的。写算法需要的时间,比查找API所需要的时间少多了。

我以前做一个项目和6个人合作用了半年,现在我一个人20天就可以了,虽然已经超级熟练,但是我对API一点都不熟,我有了异常的自己写API的能力了

#19


Float

#20


  • 一个整数N除以2余1,除以3余2,除以4余3,...,除以10余9,但除以11余0,计算符合该条件的最小整数
  • c语言中-1除以2为什么等于0?

推荐阅读
author-avatar
卢启红
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有