我正在创建一个总是采用0.xxx格式的DOUBLE变量。虽然我希望每次出现三位小数数字,但我不想看到前导零(例如:.275)。我找到了许多方法来删除STRING中的前导零,但不使用DOUBLE变量。平均数为零
为了给出更多的细节,我将一个int除以另一个int来获得double。我可以使用printf/.3f来获得千分之一的位置,但是%0.3f会导致错误。我必须错过简单的东西,但没有找到我的错误。
我正在创建一个总是采用0.xxx格式的DOUBLE变量。虽然我希望每次出现三位小数数字,但我不想看到前导零(例如:.275)。我找到了许多方法来删除STRING中的前导零,但不使用DOUBLE变量。平均数为零
为了给出更多的细节,我将一个int除以另一个int来获得double。我可以使用printf/.3f来获得千分之一的位置,但是%0.3f会导致错误。我必须错过简单的东西,但没有找到我的错误。
它看起来像使用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
发布我的问题后,我在DecimalFormat上找到了一个视频。我很高兴看到这个答案,因为它给了我一些背景。这就是说,它工作。我终于能够得到适当的显示变量,现在我可以继续我的项目。感谢所有的回应! – Kevin 2015-04-02 19:34:25
可以使用DecimalFormat类。喜欢的东西:
System.out.println(new DecimalFormat(".###").format(x));
十进制格式将工作
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 + "'");
}
}
一些代码将是伟大的.. – Asim 2015-04-02 07:21:04
当你显示它,它永远是一个字符串,有时隐藏。为什么不明确并删除前导零呢? – AntonH 2015-04-02 07:23:21