java开发中常用的数字工具类
2011-10-25 11:59
429 查看
import java.math.BigDecimal; import org.apache.commons.lang.RandomStringUtils; public class NumberUtil { private static final int DEF_DIV_SCALE = 2; /** * 判断字符串是否为数字 * @param num * @return */ public static boolean isNumberic(String num){ return (null == num || num.length() <= 0 || num.matches("\\d{1,}")) ? true : false; } /** * @return 返回12位随机数 */ public static String randomNumber() { return RandomStringUtils.randomNumeric(12); } /** * @param parm * @return 返回指定位数随机数 */ public static String randomNumber(int parm) { return RandomStringUtils.randomNumeric(parm); } /** * @return 返回纯数字和字母的GUID */ public static String randomUUID() { return GuidUtil.randomGuidUtil().toString().replaceAll("-",""); } /** * @param parm * @return 返回指定位数的GUID */ public static String randomUUID(int parm) { return GuidUtil.randomGuidUtil().toString().replaceAll("-","").substring(0,parm); } /** * * 两个Double数相加 * * * @param v1 * * @param v2 * * @return Double */ public static Double add(Double v1, Double v2) { BigDecimal b1 = new BigDecimal(v1.toString()); BigDecimal b2 = new BigDecimal(v2.toString()); return new Double(b1.add(b2).doubleValue()); } /** * * 两个Double数相减 * * * @param v1 * * @param v2 * * @return Double */ public static Double sub(Double v1, Double v2) { BigDecimal b1 = new BigDecimal(v1.toString()); BigDecimal b2 = new BigDecimal(v2.toString()); return new Double(b1.subtract(b2).doubleValue()); } /** * * 两个Double数相乘 * * * @param v1 * * @param v2 * * @return Double */ public static Double mul(Double v1, Double v2) { BigDecimal b1 = new BigDecimal(v1.toString()); BigDecimal b2 = new BigDecimal(v2.toString()); return new Double(b1.multiply(b2).doubleValue()); } /** * * 两个Double数相除 * * * @param v1 * * @param v2 * * @return Double */ public static Double div(Double v1, Double v2) { BigDecimal b1 = new BigDecimal(v1.toString()); BigDecimal b2 = new BigDecimal(v2.toString()); return new Double(b1 .divide(b2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP) .doubleValue()); } /** * * 两个Double数相除,并保留scale位小数 * * * @param v1 * * @param v2 * * @param scale * * @return Double */ public static Double div(Double v1, Double v2, int scale) { if (scale < 0) { throw new IllegalArgumentException( "The scale must be a positive integer or zero"); } BigDecimal b1 = new BigDecimal(v1.toString()); BigDecimal b2 = new BigDecimal(v2.toString()); return new Double(b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP) .doubleValue()); } /** * @param v1 * @return 返回指定Double的负数 */ public static Double neg(Double v1) { return sub(new Double(0),v1); } }
相关文章推荐
- java开发中常用的数字工具类
- java开发中常用的数字工具类
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- 最全面的Java字节byte操作,处理Java基本数据的转换及进制转换操作工具,流媒体及java底层开发项目常用工具类
- java常用开发工具类大全,涵盖常见工作的问题(超赞)
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- Android|Java 开发常用工具类整理
- 对有java开发过程 常用的js验证数字、电话号码、传真、邮箱、手机号码、邮编、日期
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- Java工作利器之常用工具类(一)——数字工具类-数字转汉字
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- [置顶] java工具类去掉字符串String中的.点。android开发java程序员常用工具类
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- java工具类去掉字符串String中的.点。android开发java程序员常用工具类
- java开发常用工具类集合总结
- Android java 开发中常用的工具类
- Java开发常用工具类