package com.tools; import java.math.BigDecimal; import org.apache.commons.lang.StringUtils; /** * 计算工具类 * @author wuh */ public class MathUtil { public static Integer scale = 1; // 设置保留一位小数 /** * Object转double(原数值) */ public static double convert(Integer scale,Object param) { BigDecimal bd = new BigDecimal(0); try { if (param != null) { if (StringUtils.isNotBlank(param.toString())) { bd = bd.add(new BigDecimal(param.toString())); } } if (scale!=null && scale > 0) { bd = bd.setScale(scale, BigDecimal.ROUND_HALF_UP); } } catch (Exception e) { e.printStackTrace(); } return bd.doubleValue(); } /** * Object转double(绝对值) */ public static double convertABS(Integer scale,Object param) { BigDecimal bd = new BigDecimal(0); try { if (param != null) { if (StringUtils.isNotBlank(param.toString())) { bd = bd.add(new BigDecimal(param.toString())); } } if (scale!=null && scale > 0) { bd = bd.setScale(scale, BigDecimal.ROUND_HALF_UP); } } catch (Exception e) { e.printStackTrace(); } return bd.abs().doubleValue(); } /** * 计算汇总 */ public static double sum(Integer scale,Object... param) { BigDecimal bd = new BigDecimal(0); try { if (param != null && param.length > 0) { for (Object obj : param) { if (obj != null) { if (StringUtils.isNotBlank(obj.toString())) { bd = bd.add(new BigDecimal(obj.toString())); } } } } if (scale!=null && scale > 0) { bd = bd.setScale(scale, BigDecimal.ROUND_HALF_UP); } } catch (Exception e) { e.printStackTrace(); } return bd.doubleValue(); } /** * 取负数值 */ public static double unABS(Object param) { BigDecimal bd = new BigDecimal(0); try { if (param != null) { if (StringUtils.isNotBlank(param.toString())) { bd = bd.add(new BigDecimal(param.toString())); } } } catch (Exception e) { e.printStackTrace(); } return (bd.doubleValue() >= 0.0D) ? 0.0D - bd.doubleValue() : bd.doubleValue(); } }
java 金额计算工具类,Java计算工具类
最新推荐文章于 2024-06-25 14:23:36 发布