package com.opensesame.core.util;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.regex.Pattern;
/**
*不定期添加方法
*/
public class NumberUtils {
public static int add(Integer... factor) {
int result = 0;
if (factor.length == 0) {
return result;
}
for (Integer f : factor) {
result += f == null ? 0 : f;
}
return result;
}
public static int toInt(Object obj) {
if (obj == null) {
return 0;
}
return org.apache.commons.lang3.math.NumberUtils.toInt(obj.toString());
}
/**
* 验证输入两位小数和取值范围
* 待验证的字符串
* @return 如果是符合格式的字符串, 返回 <b>true </b>,否则为 <b>false </b>
*/
public static boolean demToPer(BigDecimal decimals) {
boolean res = true;
String regex = "^[0-9]*(\\.[0-9]{1,2})?$";
if (!Pattern.matches(regex, decimals.toString())) {
res = false;
}
if (decimals.compareTo(BigDecimal.ZERO) == -1 || decimals.compareTo(new BigDecimal(100)) == 1) {
res = false;
}
return res;
}
/**
* xx.xx转成0.xxxx
*
* @param decimals
* @return
*/
public static BigDecimal isUnder100(BigDecimal decimals) {
return decimals.divide(new BigDecimal(100)).setScale(4, BigDecimal.ROUND_HALF_UP);
}
/**
* @param decimals 数据库中查出的比例数据,如0.1234
* @return 转换为百分数后的字符串,如"12.34%"
*/
public static String addPercentSign(double decimals) {
DecimalFormat df = new DecimalFormat("0.00");
double l = decimals * 100;
String s = df.format(l);
String concat = s.concat("%");
return concat;
}
//判断字符串是否是纯数字
public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
}
NumberUtils数字工具类
最新推荐文章于 2023-11-19 04:30:50 发布