Java中double类型数字转换(整数时候,去掉小数点,小数时候,保留两位小数)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010724819/article/details/81354177
    /*
     * 如果是小数,保留两位,非小数,保留整数
     * @param number 
     */
    public static String getDoubleString(double number) {
        String numberStr;
        if (((int) number * 1000) == (int) (number * 1000)) {
            //如果是一个整数
            numberStr = String.valueOf((int) number);
        } else {
            DecimalFormat df = new DecimalFormat("######0.00");
            numberStr = df.format(number);
        }
        return numberStr;
    }

说一下思路:

1.如果是整数,比如从服务器获取下来是整数4,由于java特性,会将4转换成4.0.我这边的处理方式是:将这个数字强制取整,然后乘以1000(小数点后移3位)如果等于这个数字乘以1000再取整,那么这个数就是整数,只是被java强制转换成了小数。

2.如果原本就是小数,则利用DecimalFormat直接进行转换。

猜你喜欢

转载自blog.csdn.net/u010724819/article/details/81354177