/* * 如果是小数,保留两位,非小数,保留整数 * @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; }
注意:此方法仅限于4位以及4位以下的小数。
说一下思路:
1.如果是整数,比如从服务器获取下来是整数4,由于java特性,会将4转换成4.0.我这边的处理方式是:将这个数字强制取整,然后乘以1000(小数点后移3位)如果等于这个数字乘以1000再取整,那么这个数就是整数,只是被java强制转换成了小数。
2.如果原本就是小数,则利用DecimalFormat直接进行转换。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226636.html原文链接:https://javaforall.net
