最新要闻
- 天天新资讯:4年还完20万欠款!夫妻回应剪掉名下所有信用卡 告别卡奴引网友感叹
- 天天热文:Win11又出严重bug:Intel用户程序崩溃 AMD躲过一劫
- 世界热点!1600人失业 老牌互联网巨头雅虎裁员20%:离职补偿未定
- 世界讯息:开窍!iPhone 15摄像头终于要升级:苹果设计让人抓狂 背部凸起更严重
- 环球视讯!3499元爆火!真我GT Neo5 1T版抢购一空:2023年旗舰射门员
- 世界最资讯丨日本国产大飞机失败:三菱重工不服输 自研新一代战机
- 世界时讯:NVIDIA发布GeForce 528.49驱动:首发支持史上最强移动显卡
- 全球实时:网友50000元攒机 到底是不是大冤种?
- 你同意?张朝阳:《流浪地球2》跟好莱坞还是没法比
- 【天天时快讯】奇葩!哈尔滨机场一旅客为逃避安检把活蜗牛藏嘴里
- 环球热议:Google放大招对抗ChatGPT:结果低级答错题 市值蒸发1000亿
- 微头条丨单枪匹马也能拍大片!这次又让大疆给拿捏了
- 快资讯:史上最强AMD显卡!撼迅正式发布水冷RX 7900 XTX 还是单插槽
- 每日观点:法国调香师夸国产花露水清新还美丽 要卖450元 网友:六神YYDS
- 《蚁人3》女儿凯茜中文预告公布 首映礼美艳图赏
- 当前关注:重回中国!福建13岁女孩4.82秒打破鲁班锁世界纪录
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
BigDecimal加减乘除运算整合工具类
(资料图片)
//自定义工具类public class XMathUtil { /** 默认的除法精确度 */ private static final int DEF_DIV_SCALE = 2; /** * 精确加法运算 * @param v1 被加数 * @param v2 加数 * @return 两个参数的和(BigDecimal) */ public static BigDecimal add(BigDecimal v1, BigDecimal v2) { if (null == v1) { v1 = BigDecimal.ZERO; } if (null == v2) { v2 = BigDecimal.ZERO; } return v1.add(v2); } /** * 精确减法运算 * @param v1 被减数 * @param v2 减数 * @return 两个参数的差(BigDecimal) */ public static BigDecimal subtract(BigDecimal v1, BigDecimal v2) { if (null == v1) { v1 = BigDecimal.ZERO; } if (null == v2) { v2 = BigDecimal.ZERO; } return v1.subtract(v2); } /** * 精确乘法运算 * @param v1 被乘数 * @param v2 乘数 * @return 两个参数的积(BigDecimal) */ public static BigDecimal multiply(BigDecimal v1, BigDecimal v2) { if (null == v1) { v1 = BigDecimal.ONE; } if (null == v2) { v2 = BigDecimal.ONE; } return v1.multiply(v2); } /** * ( 相对 )精确除法运算 , 当发生除不尽情况时 , 精确到 小数点以后2位 , 以后数字四舍五入 * @param v1 被除数 * @param v2 除数 * @return 两个参数的商(BigDecimal) */ public static BigDecimal divide(BigDecimal v1, BigDecimal v2) { return v1.divide(v2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP); } /** * ( 相对 )精确除法运算 . 当发生除不尽情况时 , 由scale参数指 定精度 , 以后数字四舍五入 * @param v1 被除数 * @param v2 除数 * @param scale 表示表示需要精确到小数点以后几位 * @return 两个参数的商(BigDecimal) */ public static BigDecimal divide(BigDecimal v1, BigDecimal v2, Integer scale) { if (null == v1) { return BigDecimal.ZERO; } if (null == v2) { v2 = BigDecimal.ONE; } if (v2.compareTo(BigDecimal.ZERO) == 0) { throw new IllegalArgumentException("除数不能为0"); } if (scale < 0) { throw new IllegalArgumentException("精确度不能小于0"); } return v1.divide(v2, scale, BigDecimal.ROUND_HALF_UP); } /** * 精确加法运算 * @param v1 被加数 * @param v2 加数 * @return 两个参数的和(String) */ public static String add(String v1, String v2) { if (isBlank(v1)) { v1 = "0"; } if (isBlank(v2)) { v2 = "0"; } BigDecimal b1 = new BigDecimal(v1.trim()); BigDecimal b2 = new BigDecimal(v2.trim()); return String.valueOf(add(b1, b2)); } /** * 精确减法运算 * @param v1 被减数 * @param v2 减数 * @return 两个参数的差(String) */ public static String subtract(String v1, String v2) { if (isBlank(v1)) { v1 = "0"; } if (isBlank(v2)) { v2 = "0"; } BigDecimal b1 = new BigDecimal(v1.trim()); BigDecimal b2 = new BigDecimal(v2.trim()); return String.valueOf(subtract(b1, b2)); } /** * 精确乘法运算 * @param v1 被乘数 * @param v2 乘数 * @return 两个参数的积(String) */ public static String multiply(String v1, String v2) { if (isBlank(v1)) { v1 = "1"; } if (isBlank(v2)) { v2 = "1"; } BigDecimal b1 = new BigDecimal(v1.trim()); BigDecimal b2 = new BigDecimal(v2.trim()); return String.valueOf(multiply(b1, b2)); } /** * ( 相对 )精确除法运算 , 当发生除不尽情况时 , 精确到 小数点以后2位 , 以后数字四舍五入 * @param v1 被除数 * @param v2 除数 * @return 两个参数的商(String) */ public static String divide(String v1, String v2) { return divide(v1, v2, DEF_DIV_SCALE); } /** * ( 相对 )精确除法运算 . 当发生除不尽情况时 , 由scale参数指 定精度 , 以后数字四舍五入 * @param v1 被除数 * @param v2 除数 * @param scale 表示表示需要精确到小数点以后几位 * @return 两个参数的商(String) */ public static String divide(String v1, String v2, Integer scale) { if (null == v1) { return "0"; } if (null == v2) { v2 = "1"; } BigDecimal b1 = new BigDecimal(v1.trim()); BigDecimal b2 = new BigDecimal(v2.trim()); return String.valueOf(divide(b1, b2, scale)); } /** * 精确加法运算 , 计算多个数值总和 , 若其中有null值则忽略 * @param valList 被加数集合 * @return 两个参数的和(BigDecimal) */ public static BigDecimal sum(BigDecimal v1, BigDecimal... valList) { if (null == v1) { v1 = BigDecimal.ZERO; } if (null == valList || valList.length == 0) { return v1; } for (BigDecimal val : valList) { if (null != val) { v1 = v1.add(val); } } return v1; } /** * 精确加法运算 , 计算多个数值总和 , 若其中有null值则忽略 * @param valList 被加数集合 * @return 两个参数的和(String) */ public static String sum(String v1, String... valList) { if (isBlank(v1)) { v1 = "0"; } if (null == valList || valList.length == 0) { return v1; } BigDecimal b1 = new BigDecimal(v1.trim()); for (String val : valList) { if (!isBlank(val)) { b1 = add(b1, new BigDecimal(val.trim())); } } return String.valueOf(b1); }
-
BigDecimal加减乘除运算整合工具类
自定义工具类publicclassXMathUtil{ **默认的除法精确度* privatestaticfinalintDEF_DIV_SCALE=2; ***精
来源: BigDecimal加减乘除运算整合工具类
天天新资讯:4年还完20万欠款!夫妻回应剪掉名下所有信用卡 告别卡奴引网友感叹
天天热文:Win11又出严重bug:Intel用户程序崩溃 AMD躲过一劫
世界热点!1600人失业 老牌互联网巨头雅虎裁员20%:离职补偿未定
世界讯息:开窍!iPhone 15摄像头终于要升级:苹果设计让人抓狂 背部凸起更严重
环球视讯!3499元爆火!真我GT Neo5 1T版抢购一空:2023年旗舰射门员
世界最资讯丨日本国产大飞机失败:三菱重工不服输 自研新一代战机
天天看点:读Java实战(第二版)笔记06_新的日期和时间API
世界时讯:NVIDIA发布GeForce 528.49驱动:首发支持史上最强移动显卡
全球实时:网友50000元攒机 到底是不是大冤种?
今日热闻!基于高层次综合器(Vivado HLS)的硬件优化[原创www.cnblogs.com/helesheng]
你同意?张朝阳:《流浪地球2》跟好莱坞还是没法比
【天天时快讯】奇葩!哈尔滨机场一旅客为逃避安检把活蜗牛藏嘴里
环球热议:Google放大招对抗ChatGPT:结果低级答错题 市值蒸发1000亿
微头条丨单枪匹马也能拍大片!这次又让大疆给拿捏了
快资讯:史上最强AMD显卡!撼迅正式发布水冷RX 7900 XTX 还是单插槽
Spring配置类理解(Lite模式和Full模式)
环球速讯:JAVA中如何判断一个ResultSet结果集是否为空
【天天速看料】MYSQL脱敏 || 给开发人员限制权限,保证mysql数据库数据安全
重点聚焦!小白也能做应用(二)之fusion app增加B站视频页面
每日观点:法国调香师夸国产花露水清新还美丽 要卖450元 网友:六神YYDS
MATLAB 实现点云累计-坐标系转换-目标范围点云提取(附代码与代码注释)
【全球快播报】面向对象知识点汇总(小白必会)
(一)浅谈人工智能:ChatGPT
《蚁人3》女儿凯茜中文预告公布 首映礼美艳图赏
环球热消息:【一句话】@Configuration和@Component的区别
世界看热讯:《分布式技术原理与算法解析》学习笔记Day06
焦点消息!ASP.NET Core+Element+SQL Server开发校园图书管理系统(完)
全球看点:if else 代码优化实战
全球动态:网络协议-ssh基础
当前关注:重回中国!福建13岁女孩4.82秒打破鲁班锁世界纪录
今日讯!ROG新款幻14笔记本即将上市:锐龙9 7940HS 可选RTX 4060
免费用!中国信通院全球网测APP iOS版上线:支持5G/千兆接入测速
速读:71款任选 森马T恤33元清仓手慢无
动态:祝福!比尔盖茨有新女友了 身家超33亿女富婆:双方沉默 前妻也有新恋情
完美收官!《三体》电视剧最后5集被赞爆:老外满分刷屏
快看:80km续航 雅迪电动车DN2千元秒杀:2699元起还是新国标
Copula
今亮点!女子熬夜看《狂飙》:患高启强同款干眼症
世界热头条丨逆天 韩国学生用ChatGPT写论文“喜”提0分 校方:剽窃!
快资讯:再续一个月:《阿凡达:水之道》再次宣布延长上映
28款CPU性能实测:Intel实力屠榜 AMD游戏神U赢回面子
全球消息!全国首座高速公路重卡充换电站亮相:电池包350kWh 3分钟自动换电
基于图的下一代入侵检测系统
环球快资讯丨MySQL——性能优化的关注点
天天简讯:记录--Cesium+Vue实战教程——地图导航
世界关注:人工智能(Python)教程_编程入门自学教程_菜鸟教程-免费教程分享
天天要闻:安卓常用shell命令大全
环球视点!无损压缩鼻祖去世了 没有他就没有今天的Zip、PNG、PDF
当前观点:博主“科普”鲸鱼会假装搁浅吸引人来救 博物杂志辟谣:九死一生
天天快讯:行驶中会“熄火” 大众召回超2万辆ID.4电动车
世界报道:欧洲玩家吐槽《霍格沃茨之遗》捏脸系统:最浅的皮肤选项依然很深
当前速看:Stochastic Methods in Finance (1)
【独家】.Net6对AOP的多种支持之IAsyncResourceFilter
世界观天下!常见的python技术难点分享
当前速讯:Nodejs原型链污染
世界要闻:[threeJS]--- 外部导入的模型如何编程式实现帧动画以及调用模型自带的动画
情人节必备:德芙香浓黑巧12元/碗大促
逃离银河系!科学家在仙女星系中发现银河移民
世界快播:山东女子中淘宝彩票锦鲤:直播1小时刮594张彩票 中7170元
天天滚动:骁龙8+满血版、残血版差价非常大 一加揭秘:能差1个亿
防止技术垄断:昆仑万维宣布将在年内开源类ChatGPT代码
【全球播资讯】陕西旅游集团旗下景区春节期间累计接待超 200 万人次,这背后也有火山引擎 VeDI 的身影
当前热门:分享5个我不能没有的Vue.js库,不信你用不上
KingbaseES libstdc++.so.6 version 'CXXABI_1.3.8'问题处理
敏捷数据科学教程_编程入门自学教程_菜鸟教程-免费教程分享
MPI库并行Fortran程序:进程通讯
微头条丨女子带汉堡进星巴克被拦 称味道大会影响其他顾客 网友抵制
微信数据再多都够用 真我GT Neo5 1TB干到3499元:旗舰射门员
新资讯:14岁女孩连续玩手机81小时险猝死 专家提醒:家长一定要控制
【环球时快讯】1TB手机不到3500元!网友评价真我GT Neo5:这让友商很难做
世界新消息丨又多了一种摸鱼手段 小红书网页版上线:左图右文 沉浸大屏
快看:Android教程_编程入门自学教程_菜鸟教程-免费教程分享
天天日报丨vue2和vue3的区别有哪些?
docker学习
【全球热闻】剑指Offer 05. 替换空格(java解题)
信息:首个教育圈ChatGPT来了!网易有道将推生成式AI:可批改作文
每日快播:创下历史第二!《霍格沃茨之遗》steam在线人数达48万
快看点丨哭笑不得!西班牙火车尺寸太大无法过隧道:白花2亿多欧元
成都现飞鸟撞树现象 网友疑灾害前兆!专家回应:想多了
环球今日报丨用ChatGPT做表格真香!只需动嘴提要求和复制粘贴
Java基础三元运算符
世界快消息!Crystal Reports 教程_编程入门自学教程_菜鸟教程-免费教程分享
新资讯:再有人问你分布式事务,把这篇文章砸过去给他
有了 ETL 数据神器 dbt,表数据秒变 NebulaGraph 中的图数据
天天播报:部分玩家批评《塞尔达传说:王国之泪》新宣传片:太中庸没新意
环球热讯:比亚迪百万新车或搭载:余承东李想力挺增程式到底落不落后?专家一句真相
C# 学习async/await(个人理解)
30 个 IDEA 常用小技巧,应有尽有,让你的撸码效率直接起飞...
【天天聚看点】世界有史以来最大百科全书!《永乐大典》首次线上公开 免费看
华擎推出4X4 BOX-7000系列迷你主机:锐龙7000U、支持双USB4
小米Civi 2宣布全版本支持MIUI 14!系统丝滑流畅、更省电
女子手机放枕边突然冒烟自燃:曾因进水维修
饭店反向抹零多收1毛被罚4500元 网友点赞:四舍五入抹零有误都可举报
天天日报丨必知必会的设计原则——里氏替换原则
焦点速递!联想发布“问天”服务器品牌 向3S领域发起总攻 5年内冲击第一
焦点!谷歌版ChatGPT灾难级发布 市值一夜狂跌7000亿 熬夜网友:退钱!
快播:刘强东要建员工福利房?京东31亿北京拿地 1.6万元/平
当前快报:手工扯面+秘制辣油 西安饭庄油泼biangbiang面6.6元/盒大促
全球看点:任天堂港服“任亏券”开卖:《塞尔达传说:王国之泪》预售你买没