JAVA BigDecimal 高精度运算
2024-08-30 12:32:13
文章参考一位博友,由于时间太久忘了链接,见谅!
public class BigDecimalUtils { private static final int DIV_SCALE = 10;// 除法精度(除不尽时保留10为小数) /** 小数精确加法 */
public static double add(double d1, double d2) {
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.add(bd2).doubleValue();
} /** 小数精确减法 */
public static double sub(double d1, double d2) {
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.subtract(bd2).doubleValue();
} /** 小数精确乘法 */
public static double mul(double d1, double d2) {
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.multiply(bd2).doubleValue();
} /** 小数精确除法 */
public static double div(double d1, double d2) {
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
/*
* 当除不尽时,以四舍五入的方式(关于除不尽后的值的处理方式有很多种)保留小数点后10位小数
*/
return bd1.divide(bd2, DIV_SCALE, BigDecimal.ROUND_HALF_UP)
.doubleValue();
}
}
最新文章
- mysql数据库乱码的问题解决
- 1、SQL可搜索可排序可分页存储过程, 2、范围内的随机时间 适用于sql 2008以上
- RocketMQ安装与部署说明
- Linux FTP配置文件说明
- 【每日一摩斯】-Index Skip Scan Feature (212391.1)
- 简单的JQuery分页代码
- 利用Warensoft Stock Service编写高频交易软件
- .NET页面301跳转处理
- ASP.NET常用的控件怎么添加
- 如何编译POCO
- nginx+ftp搭建图片服务器(Windows Server服务器环境下)
- 【DDD】--好文收藏
- ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse
- 工作中常用的JS函数整理分享(欢迎大家补充)
- win10释放的wifi热点手机连不上
- 递归思维判断数组a[N]是否为一个递增数组
- 【转载】 Eclipse注释模板设置详解
- 论文阅读笔记三十三:Feature Pyramid Networks for Object Detection(FPN CVPR 2017)
- python获取文件路径、文件名、后缀名的实例
- [jQuery] Custom event trigger