②答:
float f = 34.232323;
BigDecimal b = new BigDecimal(f);
float f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
// b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数

解决方案 »

  1.   

    看看楼主到底要什么结果了?是直接切掉小数点后两位之后的数还是将其后的数四舍五入了!:)
    如果四舍五入那么建议楼一的做法,如果直接切掉,那么楼二的方法很好,不过可能要用到parseDouble()之类的动动!
      

  2.   

    import java.text.DecimalFormat;
    public class Gm
    {
    public static void main(String[] args)
    {
    DecimalFormat df=new DecimalFormat("0.00");
    System.out.println(df.format(12.31234));
    }
    }
      

  3.   

    在注一句,楼二的这句话有问题
    float f = 34.232323;
    应该改成:
    float f = (float)34.232323;
      

  4.   

    试一下
    double d = 2.234234;
    System.out.println(Math.round(d * 100) / 100.0);
    输出
    2.23
      

  5.   

    我想java的编译器能做那种半断
    我想有那方面的函数