double d=8.7;
d*200=1739.9999999999998;如何才能成为1740?

解决方案 »

  1.   

    Math.round(d*200)=1740
    不过注意返回的是long类型的哦,如果需要double要注意转换
      

  2.   

    强制转化成int型或用float型都可以
      

  3.   

    强制转化成int,是不行的
    数据不准确
      

  4.   

    楼上的  强制转换int 难道不是 直接丢掉 小数点后面的 数字吗???float倒是可以
      

  5.   

    这是浮点数的精度问题,没有办法的,如果你只是想显示得好看些,可以改成:System.out.printf( "%.2f%n", d*200 );