2015-04-02 94 views
1

我正在创建一个总是采用0.xxx格式的DOUBLE变量。虽然我希望每次出现三位小数数字,但我不想看到前导零(例如:.275)。我找到了许多方法来删除STRING中的前导零,但不使用DOUBLE变量。平均数为零

为了给出更多的细节,我将一个int除以另一个int来获得double。我可以使用printf/.3f来获得千分之一的位置,但是%0.3f会导致错误。我必须错过简单的东西,但没有找到我的错误。

+0

一些代码将是伟大的.. – Asim 2015-04-02 07:21:04

+0

当你显示它,它永远是一个字符串,有时隐藏。为什么不明确并删除前导零呢? – AntonH 2015-04-02 07:23:21

回答

1

它看起来像使用DecimalFormat作品:

import java.text.DecimalFormat; 

public class DecimalPrintNoZero 
{ 
    public static void main(String[] args) 
    { 
    double d = 0.275; 
    DecimalFormat df = new DecimalFormat("#.000"); 
    System.out.println(df.format(d)); 
    } 
} 

参考文献:

http://developer.android.com/reference/java/text/DecimalFormat.html

Java - Format number to print decimal portion only

+1

发布我的问题后,我在DecimalFormat上找到了一个视频。我很高兴看到这个答案,因为它给了我一些背景。这就是说,它工作。我终于能够得到适当的显示变量,现在我可以继续我的项目。感谢所有的回应! – Kevin 2015-04-02 19:34:25

2

可以使用DecimalFormat类。喜欢的东西:

System.out.println(new DecimalFormat(".###").format(x)); 
0

十进制格式将工作

public class DoublePrinter { 
public static void main(String[] args) { 
    Double d = 0.325; 
    DecimalFormat format = new DecimalFormat("0.000"); 
    Double price2 = Double.parseDouble(format.format(d)); 
    System.out.println(price2); 

    String s = format.format(d); 
    System.out.println("s is '" + s + "'"); 
} 

}