比如下面这个小程序的结果为2,我想得到2.4该怎么改呢.请给出改后的程序.
public class Ma
{
public static void main(String args[])
{
double k,i;
i=2.3+0.06;;
k=Math.rint(i);
System.out.println("结果为:"+i);
}
}

解决方案 »

  1.   

    public static double rint(double a)返回其值最接近参数并且是整数的 double 值。如果两个整数的 double 值都同样接近,那么结果取偶数。特殊情况是: 
    如果参数值是整数,那么结果就是该参数。 
    如果参数是 NaN 或无穷大或正零或负零,那么结果与参数相同。参数:
    a - double 值。 
    返回:
    最接近 a 的整数浮点值-------------------------lz用错了吧~
      

  2.   

    控制位数的四舍五入你可以使用DecimalFormat:double d = 12345.56784;
    DecimalFormat ddf = new DecimalFormat("#0.00");//保留两位小数
    System.out.println(ddf.format(d));
      

  3.   

    NumberFormat formatter = NumberFormat.getNumberInstance();
    formatter.setMaximumFractionDigits(2);
    formatter.setMinimumFractionDigits(2);
    string s = formatter.format(3.236)
      

  4.   

    new BigDecimal(i).setScale(1, BigDecimal.ROUND_HALF_UP)..doubleValue();
      

  5.   

    k=Math.rint(i);->k=new BigDecimal(i).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
      

  6.   

    new BigDecimal(i).setScale(1, BigDecimal.ROUND_HALF_UP)..doubleValue();
    ==============================
    这个比较准确,否则会出现只返回偶数位的情况,不信试试NumberFormat formatter = NumberFormat.getNumberInstance();
    formatter.setMaximumFractionDigits(2);
    formatter.setMinimumFractionDigits(2);
    string s = formatter.format(3.225)此时得到的是3.22而不是四舍五入想得到的3.23
      

  7.   

    import java.text.DecimalFormat; public class Ma
    {
    public static void main(String args[])
    {
     DecimalFormat df= new DecimalFormat("#0.0");
          
    double k,i;
    i=2.3+0.06;;System.out.println(df.format(i));
    }
    }
    //你试试!
      

  8.   

    import java.text.DecimalFormat;public class DD {

    public static void main(String args[])
    {
    double k,i;
    k=2.36;
    DecimalFormat df=new DecimalFormat("#.#");

    System.out.println("结果为:"+df.format(k));
    }
    }