最后一个零从双值

时间:2017-03-12 10:06:21

标签: java double

我有一组双倍值,它们按小数点分割,前面加了0。

e.g。输入:1229.5 - 预期产量:0.1229

但是,如果输入值最后为0,例如1270.2,则输出为0.127,而应为0.1270。

这是我的代码:

static double[] data = new double[] {6754.6,7235.9,5432.2,1270.2,5413.6,1099,1018};

public static void main(String[] args) {
    for(int i=0;i<data.length; i++){
        String outputStr = String.valueOf(data[i]);
        String[] fileNameSplit = outputStr.split("\\.");
        fileNameSplit[0] = "0."+fileNameSplit[0];
        double newData = Double.valueOf(fileNameSplit[0]);
        System.out.println(newData);
    }
}

1 个答案:

答案 0 :(得分:0)

你必须区分对象与它的字符串表示。

double甚至不是十进制数,当您在标准输出中打印它时,它会转换为十进制数,然后进行格式化。

Java会隐式执行此操作,并在将任何类型打印到控制台之前将其转换为默认字符串表示形式。

正如许多人所说,如果你需要,你必须格式化输出。