double a=6583.2568455685;
a=(int)(a*1000+0.5)/1000.0;

解决方案 »

  1.   

    应该不是得到int吧,还是double
      

  2.   

    import java.text.* ;class test
    {
    public static void main( String args[] )
    {
    double lfNum = 6583.2568455685 ;
    double lfNewNum = 0.0 ;
    DecimalFormat newNum = new DecimalFormat( "0.000" ) ;
    // 按四舍五入输出,format返回值是String,正好用于输出
    System.out.println( newNum.format( lfNum ) ) ;
    // 按四舍五入将原来的数变成可以计算的double类型,
    //下面的对“新数”+1就是测试double类型的
    String strTmp = newNum.format( lfNum ) ;
    lfNewNum = Double.parseDouble( strTmp ) ;
    lfNewNum += 1 ;
    System.out.println(lfNewNum) ;

    System.exit( 0 ) ;
    }
    }