Android上另一种十进制格式的十进制格式

时间:2017-08-20 14:33:44

标签: android

我无法格式化该格式的十进制值格式(8487.0)。 " 8.48"

我已尝试过此处发布的其他问题的解决方案,但我没有成功。

示例:

Double n1 = Double.parseDouble (String.valueOf (8487.0));
DecimalFormat dec = new DecimalFormat ("#. ##");
String credits = dec.format (n1);   Log.d (TAG, "test" + credits);

目前它的输出如下:8487

欢迎任何帮助,谢谢。

3 个答案:

答案 0 :(得分:1)

您可以使用字符串格式

String answer = String.format("%.2f", (8487.0 / 1000));        
Log.d(TAG, answer); //8.49

答案 1 :(得分:1)

有两种情况;是否要四舍五入。这是两个案例的示例代码。

double d = 8487.0;
d /= 1000;
DecimalFormat f = new DecimalFormat("##.00");
f.setRoundingMode(RoundingMode.FLOOR);
String notRounded = f.format(d);
System.out.println("Not Rounded: " + notRounded);

f.setRoundingMode(RoundingMode.HALF_UP);
String rounded = f.format(d);
System.out.println("Rounded: " + rounded);

答案 2 :(得分:0)

那么,您想将数量减少1000倍吗?例如克到公斤?

Double n1 = Double.parseDouble (String.valueOf (8487.0));
Double n2 = n1 / 1000;

DecimalFormat dec = new DecimalFormat ("#. ##");
String credits = dec.format(n2);

Log.d (TAG, "test" + credits);