All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.minsin.core.tools.NumberUtil Maven / Gradle / Ivy

Go to download

mutils-core 作为mutils组件中的核心模块。 可以被maven项目单独引用,引入后可提供多种帮助类,如StringUtil、NumberUtil、DateUtil等等 maven仓库:https://mvnrepository.com/artifact/cn.minsin/mutils-core

There is a newer version: 0.3.7
Show newest version
package cn.minsin.core.tools;

import java.lang.reflect.Method;
import java.math.BigDecimal;

import org.apache.commons.lang3.math.NumberUtils;

/**
 * 	数值工具类  对{@link NumberUtils} 进行拓展
 * @author mintonzhang
 * @date 2019年2月14日
 * @since 0.1.0
 */
public class NumberUtil extends NumberUtils {

	/**
	 * 判断字符串是否是数字(无法具体判断是整型还是浮点型)
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNumbers(String... str) {
		try {
			for (String string : str) {
				if (!NumberUtils.isCreatable(string)) {
					return false;
				}
			}
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 判断字符串是否是数字(指定类型)
	 * @param str
	 * @return
	 */
	public static  boolean isNumbers(Class type, String... str) {
		try {
			Method method = type.getMethod("valueOf", String.class);
			for (String string : str) {
				method.invoke(type, string);
			}
			return true;
		} catch (Exception e) {
			return false;
		}
	}
	
	/**
	 * 	保留指定小数长度的数据
	 * @param length
	 * @param old
	 * @return
	 */
	public static BigDecimal keepLenthDecimals(int length,BigDecimal old) {
		if(length<0||old==null) {
			return old;
		}
		return old.setScale(length, BigDecimal.ROUND_HALF_UP);
	}
	
	/**
	 * 	元转换成分
	 * @param bigDecimal
	 * @return
	 */
	public static BigDecimal yuanToFen(BigDecimal bigDecimal) {
		if(bigDecimal!=null) {
			return keepLenthDecimals(2, bigDecimal).multiply(new BigDecimal(100)).setScale(0);
		}
		return bigDecimal;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy