java.text.DecimalFormat   df=new   java.text.DecimalFormat("#0.00"); 
 
   x = 83.3333333333;   df.format(x); 
 
结果: 83.33 正确 但是 如果 x = 83.3显示出来的结果还是 83.3怎么才能显示出 83.30 这个结果呢?

解决方案 »

  1.   

    一个很笨的办法
    java.text.DecimalFormat  df=new  java.text.DecimalFormat("#0.00");   String temp = "83.3333333333";

    double x;
    if(temp.substring(temp.lastIndexOf("."),temp.length()).length()<2)
    {
     x=Double.parseDouble(temp+"0");
    }
    x=Double.parseDouble(temp);
      
                    df.format(x) %>
      

  2.   

    电脑上没有安装jdk ,测试不了你试一试: java.text.DecimalFormat  df=new  java.text.DecimalFormat("##########.##"); 
      

  3.   


    double x=83.3;
    java.text.DecimalFormat  df=new  java.text.DecimalFormat("#0.00"); 
    System.out.println(df.format(x));我运行显示的是83.30
      

  4.   

    给lz参考import java.text.DecimalFormat;public class TestDecimalFormat{
    public static void main(String args[]){
    double d = 12345.67;
    DecimalFormat df1 = new DecimalFormat();
    DecimalFormat df2 = new DecimalFormat("###,###.0000");
    DecimalFormat df3 = new DecimalFormat("000,000.####");
    System.out.println(df1.format(d));
    System.out.println(df2.format(d));
    System.out.println(df3.format(d));
    }
    }
      

  5.   

    /**
     * 按数字输出格式,格式化输出的数字并四舍五入<br/>
     * 应用举例:<br/>
     * <font color=red>number:5   pattern:.00 输出:5.00</font><br/>
     * <font color=red>number:5.565 pattern:.00 输出:5.57</font><br/>
     * 
     * @param number 双精度数字
     * @param pattern 格式化样式 
     * @return 字符串
     */
    public static String getFormatNumber(double number,String pattern){
    DecimalFormat nb = new DecimalFormat(pattern);
    nb.applyPattern(pattern);
    return nb.format(number);
    }
      

  6.   

    double d = 12.3;
    DecimalFormat df = new DecimalFormat(#0.00);
    System.out.println(df.format(d));
    结果为12.30
      

  7.   

    你们难道不知道用System.out.printf();这个输入语句吗?