double aa=4.602;
aa=aa*100;
System.out.println(aa);印出来的数是 460.200000000000005 为什么啊
aa=aa*100;
System.out.println(aa);印出来的数是 460.200000000000005 为什么啊
解决方案 »
- 一个线程需要在任何情况下退出都必须执行一段程序改怎么写?
- 请教一个J2SE入门的问题
- 请教大虾们个问题?
- 向同行的JAVA朋友们请教一个问题!!
- 请问一下java中要对一个double数进行四舍五入要用那个类呀?
- 跪求在class 中定义的静态块是何时执行的,有什么作用?高手请支招。
- 如何将JAVA的程序隐藏至状态栏
- 急死人了!那位大侠设置过EPSON LQ-670K+打印机的连纸发票格式。快一点告诉我吧!一个渴望的人。。。
- 为什么 找不到 class ??????( 透过 web 服务器 访问 applet )
- 请问哪里有sqlserver2000的jdbc驱动程序?
- 用按钮启动线程还是有问题
- !!!!!!!!!!高分急问高人该如何给ArrayList类中是HashMap排序啊!!!!!!!!!!!!!!!
你要用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);