具体类是java.text.DecimalFormat

解决方案 »

  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.   

    /**************************************************
     * <P>
     * 少数点以下N桁まで表示
     * </P>
     * @param double dblNumber
     * @param int  少数点以下桁数
     * @return String 変換された数値
     **************************************************/
    private  String chgFloatN(double fltNumber, int n) {

    String strFloatN = null; NumberFormat nf = NumberFormat.getNumberInstance();
    nf.setMaximumFractionDigits(n);
    nf.setMinimumFractionDigits(n);
    strFloatN = nf.format(fltNumber);
    return strFloatN;
    }
      

  3.   

    import java.math.BigDecimal;BigDecimal  bigDecimal=new BigDecimal((double)0.001);
                  perAnswer=bigDecimal.setScale(3,BigDecimal.ROUND_HALF_UP);
      

  4.   

    好像楼上诸位老兄都没有理解我的意思。我是把String转换成Double,后面不要加无用的0。而不是把Double转换成String。
      

  5.   

    楼主明显概念不清
    double与float是二进浮点方式保存的,不能理解成它存在十进制小数位数;
    如果一个十进制小数 1.23,保存成double或float变会变成
    1.22999999999999999999999999或1.2300000000000000000001
    所以跟double或float谈十进制小数位数毫无意义。
    但你将double或float转换成十进制时[实际变成了十进制串],
    你可以设置你需要的十进小数位数了。
      

  6.   

    Double(0.001)和Double(0.0010)对你来说有什么区别吗?
      

  7.   

    不显示在GUI上,你管它小数位有几位重要吗?抓狂。
      

  8.   

    对于小数的处理建议你不要用Double或Float,而用BigDecimal。    BigDecimal bd1 = new BigDecimal(Double.valueOf("0.0010").doubleValue());
        BigDecimal bd2 = bd1.setScale(3, BigDecimal.ROUND_HALF_UP);//这里设置精度
        System.out.println(bd2);
      

  9.   

    象 okwuzhijun(SKYSEA) 等的方法都是对的,他们是把Double.valueOf("0.001")的返回值也就是 0.0010 进行格式化,使之成为 0.001.
      

  10.   

    各位大哥:
        客户要求的数据库里的字段就是要2位整数3位小数,你们说有没有区别啊。
    如果无所谓不用解决的话,我闲着无聊来这里干嘛呀。我是要求存进数据库是是3位小数,可是在转换时就变成了4位,我怎么能不郁闷呢?我不是Double到Double,也不是Double到String,而是String到Double 。
      

  11.   

    问一下你用什么来操作数据库?用EntityBean还是直接写sql?
      

  12.   

    存成STRING,用的时候再换回来不就行了么,或者你在存数据库的时候使用sql函数转换一下格式。