Backlight87
8/24/2017 - 2:28 PM

关于number的工具类,包括把字节转换成MB及以上,判断是不是纯数字,以及转换服务端发下来的图片大小成宽高比(450*550)

关于number的工具类,包括把字节转换成MB及以上,判断是不是纯数字,以及转换服务端发下来的图片大小成宽高比(450*550)

public class NumberUtils {

    /**
     * 文件大小格式转换
     *
     * @param size
     * @return
     */
    public static final String fileSizeKb2Mb(double size) {
        size /= 1024.0;
        String hrSize = "";
        // 法语等语言标点会显示逗号,强制为china,显示点号
        DecimalFormat dec = null;
        try {
            dec = (DecimalFormat) NumberFormat.getInstance(Locale.CHINA);
            dec.applyPattern("0.0");
        } catch (Exception e) {
            e.printStackTrace();
            dec = new DecimalFormat("0.0");
        }
        double m = size / 1024.0;
        double g = size / 1048576.0;
        double t = size / 1073741824.0;
        if (t > 1) {
            hrSize = dec.format(t).concat("T");
        } else if (g > 1) {
            hrSize = dec.format(g).concat("G");
        } else if (m > 1) {
            hrSize = dec.format(m).concat("M");
        } else {
            hrSize = dec.format(size).concat("K");
        }
        return hrSize;
    }

    /**
     * 传入服务器端过来的字符串{图片尺寸 使用宽*高的方式传参如 480*480}
     * 返回宽/高比
     * @return
     */
    public static float getPicWHRadio(String des, float defaultRadio) {
        if (TextUtils.isEmpty(des)) {
            return defaultRadio;
        }
        int index = des.indexOf("*");
        if (index <= 0) {
            return defaultRadio;
        }
        try {
            int width = Integer.valueOf(des.substring(0, index).trim());
            int height = Integer.valueOf(des.substring(index + 1).trim());
            return width / (float) height;
        } catch (Exception e) {
            Debug.e(e.getMessage());
            return defaultRadio;
        }
    }
    /**
     * 判断输入的字符串是不是纯数字
     */
    public static boolean isNumeric(String str) {
        Pattern pattern = Pattern.compile("[0-9]*");
        return pattern.matcher(str).matches();
    }
}