如何在双数字小数点后保存数字

时间:2014-09-20 22:48:17

标签: java format decimal

假设有一些课程

public class Currency {

    private double value;

    public double getValue() {
        return value;
    }

    public Currency(double value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return value + "";
    }
}

重点是:

有浮动变量

double var = 10.000;

和对象

Currency cur = new Currency(var);

我需要那个方法toString()必须返回" 10.000"就像var看起来一样(如果小数点后面有零序列,假设它必须在小数点后返回3个零),但它返回" 10.0"

2 个答案:

答案 0 :(得分:2)

使用String.format

    double a = 10;
    String s = String.format("%.3f", a);
    System.out.println(s);

这是document

答案 1 :(得分:0)

一旦分配给double,用于指定值的文字的确切措辞就会丢失,只保留其值。如果您需要精确的格式,则应以其他方式表示(例如,作为字符串)。如果您需要特定数量的小数位,那么请将您的字符串格式化为多个小数位。