如:对于double的数3.1415926,我只想是3.14,不要小数点后那么多,不知道怎么实现?谢谢!在线等!

解决方案 »

  1.   

    import java.text.*;public class FormatData {    public static String getResult(double num) {
            NumberFormat format = NumberFormat.getNumberInstance();
            format.setMaximumFractionDigits(3);
            return format.format(num);
        }    public static void main(String[] args) {
            System.out.println(getResult(0.0010));    }
    }
      

  2.   

    import java.text.*; 
    ... 
    NumberFormat nf=NumberFormat.getNumberInstance(); 
    nf.setMaximumFractionDigits(2); 
    nf.setMinimumFractionDigits(2); 
    nf.format(numb);
      

  3.   

        public static double round(double f, int n) {
            f *= Math.pow(10, n);
            f = Math.round(f);
            f /= Math.pow(10, n);
            return f
        }
      

  4.   

    import java.text.DecimalFormat;
    import javax.swing.JOptionPane;public class double1 {
        public double1() {
            double num1;
            String num2;
            
            num1 = 3.1415926;
           
            DecimalFormat twoDigits = new DecimalFormat("0.00");
            num2 = twoDigits.format(num1);        JOptionPane.showMessageDialog(null,"num1  is "+num1,"num1",JOptionPane.INFORMATION_MESSAGE);
            JOptionPane.showMessageDialog(null,"num2 is "+num2,"num2",JOptionPane.INFORMATION_MESSAGE);
        }    public static void main(String[] args) {
            double1 double1 = new double1();
        }
    }
      

  5.   

    愚以为
    上面的肯定可以(正解),就是速度有些慢。可以这样不?(四舍5入)  ((int)(a*100+0.5f))/100;
      

  6.   

    3.1415926
    -->"3.1415926"
    -->"3.14"
    -->3.14
    ok
      

  7.   

    double dou;
    String douStr = dou +"";
    String str = douStr.substring(0,douStr.indexOf(".")+3);
    double d = Double.parseDouble(str);
      

  8.   

    利用类型转换机制,现将其放大你想要的倍数,然后转成int型,小数位将自动舍去,然后再将其缩小相同的倍数即可。函数如下:
    function(int n,double a){
    double a2=a*n;
    int b=(int)a2;
    double c=(double)b;
    double d=c/n
    return d;
    }
    n为你想要放大的倍数(想楼说的只想取后两位,则这里n=100,a为那个double型数)
    不知可不可以满足楼主的需要^_^