首页 > 代码库 > 科学计算法帮助类MathUtils
科学计算法帮助类MathUtils
import java.math.BigDecimal;import java.math.MathContext;import java.math.RoundingMode;import java.util.ArrayList;import java.util.List;/** * 科学计算数字的帮助类 * @author yzl * */public class MathUtils { /** * 返回科学计算后的乘法结果 * @param val1 * @param val2 * @param mc * @return */ public static double multiply(double val1,double val2,int mc) { if(val1==0 || val2==0) return 0; BigDecimal bg1 = new BigDecimal(val1); BigDecimal bg2 = new BigDecimal(val2); return bg1.multiply(bg2, new MathContext(mc,RoundingMode.HALF_UP)).doubleValue(); } /** * 返回科学计算后的除法结果 * @param fz 分子 * @param fm 分母 * @param mc 小数点精度 * @return */ public static double divide(double fz,double fm,int mc) { if(fz==0 || fm==0) return 0; BigDecimal bg1 = new BigDecimal(fz); BigDecimal bg2 = new BigDecimal(fm); return bg1.divide(bg2, mc, BigDecimal.ROUND_HALF_UP).doubleValue(); } /** * 返回科学计算后的减法结果 * @param val1 * @param val2 * @param mc * @return */ public static double subtract(double val1,double val2,int mc) { if(val2==0) return val1; BigDecimal bg1 = new BigDecimal(val1); BigDecimal bg2 = new BigDecimal(val2); return bg1.subtract(bg2, new MathContext(mc,RoundingMode.HALF_UP)).doubleValue(); } /** * 返回科学计算后的加法结果 * @param val1 * @param val2 * @param mc * @return */ public static double add(double val1,double val2,int mc) { BigDecimal bg1 = new BigDecimal(val1); BigDecimal bg2 = new BigDecimal(val2); return bg1.add(bg2, new MathContext(mc,RoundingMode.HALF_UP)).doubleValue(); }}
科学计算法帮助类MathUtils
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。