当前页面: 开发资料首页 → 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);