如何格式化来自Java中的对象的Double?

时间:2016-07-16 16:42:50

标签: java android

我想格式化从Double获得的Object,因此它只显示小数点后的三位数。这是当前的代码:

 Three a = Data.get(index); 
 // Get the y-axis acceleration value
 double b = a.getY();
 String accelerationOutUnfiltered = Double.toString(b);
 Data[0] = accelerationOutUnfiltered;

注意:我在Android中执行此操作,当我使用String.format("%.3f", y)时,这不起作用,它会在Android Studio中引发错误。目前上面的代码有效,但它在小数点后显示15位数。

我尝试了几种形式,但都失败了。请帮忙。谢谢:)

2 个答案:

答案 0 :(得分:1)

您可以使用DecimalFormatter

例如:

double b = a.getY();

DecimalFormat formatter = new DecimalFormat("#.###");
formatter.setRoundingMode(RoundingMode.CEILING);

String formattedDouble = formatter.format(b);

答案 1 :(得分:0)

试过十进制格式化程序吗?

你做这样的事情:

DecimalFormat df = new DecimalFormat("#.#####");
df.format(<your_number>);