a=乘100,取整,除100
b=乘1000,对10取余
if b>=5   a=a+0.01
else a=a

解决方案 »

  1.   

    Java 连个转换函数都没有吗???偶晕!!!俺是JAVA新手,各位见谅。
      

  2.   

    试用setScale方法可以达到这个目的,如下:double f = 10.66666667;
    BigDecimal b = new BigDecimal(f);
    double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();则f1即为所求
    b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数
    上面是对double类型的处理,如果对float的,则将上面所有的double字段换成float就行
      

  3.   

    我给人下方法给你:
    import java.text.DecimalFormat;
    public String roundUp(double d, String RoundFormat)
    {
    DecimalFormat nf = new DecimalFormat(RoundFormat);
    return nf.format(d);
    }
             parseDouble(String s) 
    如果是两位小数:
    double f = 10.66666667;
          f=Double.parseDouble(roundUp(f,"0.00"))
    f-->10.67
      

  4.   

    我给人下方法给你:
    import java.text.DecimalFormat;
    public static String roundUp(double d, String RoundFormat)
    {
    DecimalFormat nf = new DecimalFormat(RoundFormat);
    return nf.format(d);
    }
             parseDouble(String s) 
    如果是两位小数:
    double f = 10.66666667;
          f=Double.parseDouble(roundUp(f,"0.00"));
    f-->10.67
      

  5.   

    最簡單double f = 10.6666666667;
    f = Math.round(f*100)/100;
      

  6.   

    少了個小數點
    最簡單double f = 10.6666666667;
    f = Math.round(f*100)/100.0;