论坛首页 Java企业应用论坛

用JAVA实现10/7保留到小数点后100位

浏览 1500 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-07-07  
BigDecimal a = new BigDecimal(10);
BigDecimal b = new BigDecimal(7);
BigDecimal d = a.divide(b,100,java.math.RoundingMode.HALF_UP);
//BigDecimal c = a.divide(b,10,java.math.RoundingMode.UNNECESSARY);
System.out.println(d);


但是问题出来了,如果我要求不舍入。
BigDecimal c = a.divide(b,10,java.math.RoundingMode.UNNECESSARY);
这样写会报错。那要怎么写?
   发表时间:2009-07-07  
    保留那么多位干啥用? 有意义吗?

   以下这段这代码可保留到小数点后面16个位,应该可以满足需求。

java.text.DecimalFormat df = new DecimalFormat("0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");

double dd = 10/7d;

System.out.println(dd);

String s = df.format(dd);

System.out.println(s);
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics