Java double类型转成String,去除末尾的“.0”

1 背景

1.double直接转string,例如sout(double)或者String.valueOf(double),假设是整数,会自动在后面添加“.0”,我们不需要这个添加;

2.不要用科学计数法显示

 

2 正确示例

(左double 右String)

1 -> 1

1.0 ->1

1.1->1.1

100->100

3 代码

private String convertDoubleToString(double val) {
    BigDecimal bd = new BigDecimal(String.valueOf(val));
    return bd.stripTrailingZeros().toPlainString();
}

说明:stripTrailingZeros去除末尾的".0",toPlainString表示不使用科学计数法(toString会使用科学计数法)。

4 测试

public final class Test {
    public static void main(String[] args) {
        double val = 1;
        System.out.println(val);
        System.out.println(convertDoubleToString(val));

        System.out.println(convertDoubleToString(1.0));
        System.out.println(convertDoubleToString(1.1));
        System.out.println(convertDoubleToString(1.9));
        System.out.println(convertDoubleToString(100));
    }

    private static String convertDoubleToString(double val) {
        BigDecimal bd = new BigDecimal(String.valueOf(val));
        return bd.stripTrailingZeros().toPlainString();
    }
}

打印:

 

你可能感兴趣的:(Java基础)