站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题乘法??

乘法??

摘要: 乘法??


double aa=4.602;
aa=aa*100;
System.out.println(aa);

印出来的数是 460.200000000000005 为什么啊



简单的说呢,double*double=double,存在不精确的问题
你要用BigDecimal才行


因为它是浮点数,呵呵


唉,,还有就是 我 4.068
1、我怎么得到 4.06
2、我怎么得到 8
用哪个方法啊?


当然用BigDecimal啦!
BigDecimal c=new BigDecimal(String.valueOf(4.602));
System.out.println(c.multiply(new BigDecimal("100")).setScale(1));

BigDecimal a=new BigDecimal(4.068);
String b = String.valueOf(a.doubleValue());
System.out.println(b.charAt(b.length()-1));
//直接省略后面的
a = a.setScale(2, BigDecimal.ROUND_DOWN);
System.out.println(a);


↑返回目录
前一篇: JAVA中的堆和数据结构中的堆是一种东西么
后一篇: JAVA内部类干吗用的?常用吗?