package com.kflh.boxApi.utils.util;
import java.math.BigDecimal;
/**
* @program: BoxApi
* @description: 计算浮点数
* @author: eterntiyz
* @create: 2019-01-17 11:10
*/
public class DoubleCalendar {
/**
* @Description: 浮点加法
* @Param: []
* @return: java.lang.Double
* @Author: tonyzhang
* @Date: 2019-01-17 11:27
*/
public static Double add(String str1,String str2) {
BigDecimal bignum1 = new BigDecimal(str1);
BigDecimal bignum2 = new BigDecimal(str2);
BigDecimal bignum3 = bignum1.add(bignum2);
return bignum3.doubleValue();
}
/**
* @Description: 浮点减法
* @Param: []
* @return: java.lang.Double
* @Author: tonyzhang
* @Date: 2019-01-17 11:27
*/
public static Double subtract(String str1,String str2) {
BigDecimal bignum1 = new BigDecimal(str1);
BigDecimal bignum2 = new BigDecimal(str2);
BigDecimal bignum3 = bignum1.subtract(bignum2);
return bignum3.doubleValue();
}
/**
* @Description: 浮点乘法
* @Param: str1为分母,str2为分子
* @return: java.lang.Double
* @Author: tonyzhang
* @Date: 2019-01-17 11:26
*/
public static Double multiply(String str1,String str2) {
BigDecimal bignum1 = new BigDecimal(str1);
BigDecimal bignum2 = new BigDecimal(str2);
BigDecimal bignum3 = bignum1.multiply(bignum2);
return bignum3.doubleValue();
}
/**
* @Description: 浮点除法
* @Param: []
* @return: java.lang.Double
* @Author: tonyzhang
* @Date: 2019-01-17 11:26
*/
public static Double divide(String str1,String str2) {
BigDecimal bignum1 = new BigDecimal(str1);
BigDecimal bignum2 = new BigDecimal(str2);
//参数意义.bignum1为分母,bignum2为分子,scale保留的位数,BigDecimal.ROUND_DOWN表示不进位
BigDecimal bignum3 = bignum1.divide(bignum2,2,BigDecimal.ROUND_DOWN);
return bignum3.doubleValue();
}
public static void main(String[] args) {
System.out.println(divide("4600.0","0.6"));
}
}
解决浮点运算精度不准确,BigDecimal 加减乘除
未经允许不得转载:搜云库技术团队 » 解决浮点运算精度不准确,BigDecimal 加减乘除
相关推荐
- 文件传输不止有FTP还有SCP,真的秀
- 你们要的MyCat实现MySQL分库分表来了
- ThinkPHP多语言如何实现你了解过吗?
- 什么?你还不会断点调试代码
- 快看,虚拟机跟宿主机之间竟然可以使用SVN
- 使用rpm指令1秒删除不需要的包
- 良心之作送你几个Xsheel使用小技巧
- 面试问Redis集群,被虐的不行了......
- Redis哨兵原理,我忍你很久了!
- 写给大忙人的Redis主从复制,花费五分钟让你面试不尴尬
- Redis删除策略和逐出策略
- 一文带你了解Redis持久化完整版本
- 一文搞定Redis五大数据类型及应用场景
- 解决Redis容器使用Redis.conf启动失败
- Redis安装大全涵盖Windows Linux Docker
- MYSQL 连接查询算法