public static Number transfer()

in src/main/java/com/ql/util/express/OperatorOfNumber.java [87:135]


    public static Number transfer(Number value, Class<?> type, boolean isForce) {
        if (isForce || !(value instanceof BigDecimal)) {
            if (type.equals(byte.class) || type.equals(Byte.class)) {
                return value.byteValue();
            } else if (type.equals(short.class) || type.equals(Short.class)) {
                return value.shortValue();
            } else if (type.equals(int.class) || type.equals(Integer.class)) {
                return value.intValue();
            } else if (type.equals(long.class) || type.equals(Long.class)) {
                return value.longValue();
            } else if (type.equals(float.class) || type.equals(Float.class)) {
                return value.floatValue();
            } else if (type.equals(double.class) || type.equals(Double.class)) {
                return value.doubleValue();
            } else if (type.equals(BigDecimal.class)) {
                return new BigDecimal(value.toString());
            } else {
                throw new RuntimeException("没有处理的数据类型:" + type.getName());
            }
        } else {
            if (type.equals(byte.class) || type.equals(Byte.class)) {
                if (((BigDecimal)value).scale() > 0) {
                    throw new RuntimeException("有小数位,不能转化为:" + type.getName());
                }
                return value.byteValue();
            } else if (type.equals(short.class) || type.equals(Short.class)) {
                if (((BigDecimal)value).scale() > 0) {
                    throw new RuntimeException("有小数位,不能转化为:" + type.getName());
                }
                return value.shortValue();
            } else if (type.equals(int.class) || type.equals(Integer.class)) {
                if (((BigDecimal)value).scale() > 0) {
                    throw new RuntimeException("有小数位,不能转化为:" + type.getName());
                }
                return value.intValue();
            } else if (type.equals(long.class) || type.equals(Long.class)) {
                if (((BigDecimal)value).scale() > 0) {
                    throw new RuntimeException("有小数位,不能转化为:" + type.getName());
                }
                return value.longValue();
            } else if (type.equals(float.class) || type.equals(Float.class)) {
                return value.floatValue();
            } else if (type.equals(double.class) || type.equals(Double.class)) {
                return value.doubleValue();
            } else {
                throw new RuntimeException("没有处理的数据类型:" + type.getName());
            }
        }
    }