Double to String,如何在点后删除0

时间:2013-01-11 06:00:02

标签: java android

  

可能重复:
  How to nicely format floating types to String?

我有号码:

Double d1=(Double)0;
Double d2=(Double)2.2;
Double d3=(Double)4;

当我使用String时,我得到0.0,2.2,4.0,但我想看到0,2.2,4。 我该怎么办?

2 个答案:

答案 0 :(得分:17)

使用DecimalFormat.format代替Double.toString

Double d1 = (Double)0.0;
Double d2 = (Double)2.2;
Double d3 = (Double)4.0;

// Example: Use four decimal places, but only if required
NumberFormat nf = new DecimalFormat("#.####");

String s1 = nf.format(d1); // 0
String s2 = nf.format(d2); // 2.2
String s3 = nf.format(d3); // 4

你甚至不需要Doubledouble s就可以了。

答案 1 :(得分:1)

  

首先使用String.valueof(YOUR_VARIABLE)将您的Double转换为String

然后使用下面的函数来执行此操作。

private String getyourNumber(String NUMBER) {
    if(!NUMBER.contains(".")) {
        return NUMBER;
    }

    return NUMBER.replaceAll(".?0*$", "");
}

然后转换你的

  

使用Double.parseDouble(YOUR_RETURNED_STRING)加倍的字符串。