对一个double型的数据,比如1.589746521,要输出这个数,但是只能输出到小数点后4位,用什么方法才能控制它的输出呢?

解决方案 »

  1.   

    用java.next.NumberFormat类,具体的使用方法和规范可以查看API文档
      

  2.   

    java.next.NumberFormat类?我在API文档里面怎么没有找到啊?
      

  3.   

    哦,我知道了,是java.text.NumberFormat,谢谢你了
      

  4.   

    给楼主一个例子:
    import java.text.DecimalFormat;
    public class TestDouble {

    public void testDouble(){
    double a = 1.589756521;

    System.out.println("a: " + TestDouble.formatDecimal(a,"#.0000"));
    System.out.println("a: " + a);

    }
    public static void main(String[] args){
    TestDouble d = new TestDouble();
    d.testDouble();
    }



    /**
     * 根据格式得到格式化的浮点型数字
     * @param data 要格式化的数字,类型为double
     * @param type 格式类型,如#,###.00
     * @return String 返回String类型的数值,形式如:23,345,445.34
     */
    public static String formatDecimal(double data, String type) {
    DecimalFormat dFormat = new DecimalFormat(type);
    return dFormat.format(data);
    }}
      

  5.   

    public static void main(String[] args) {
    double db = 6789.5;
    double b = (int) (db*10000);
    double a = b/10000;
    System.out.print(a);
    }