C语言double数据加减,double类型数据的加减乘除
import java.math.BigDecimal;
/**
* 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。
*/
public class DoubleUtils{
private static final int DEF_DIV_SCALE = 2;
/**
* @Description 两个Double数相加
*
* @param d1
* @param d2
* @return Double
*/
public static Double add(Double d1,Double d2){
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.add(b2).doubleValue();
}
/**
* @Description 两个Double数相减
*
* @param d1
* @param d2
* @return Double
*/
public static Double sub(Double d1,Double d2){
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.subtract(b2).doubleValue();
}
/**
* @Description 两个Double数相乘
*
* @param d1
* @param d2
* @return Double
*/
public static Double mul(Double d1,Double d2){
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.multiply(b2).doubleValue();
}
/**
* @Description 两个Double数相除
*
* @param d1
* @param d2
* @return Double
*/
public static Double div(Double d1,Double d2){
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.divide(b2,DEF_DIV_SCALE,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* @Description 两个Double数相除,并保留scale位小数
*
* @param d1
* @param d2
* @param scale
* @return Double
*/
public static Double div(Double d1,Double d2,int scale){
if(scale<0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* @Description String类型小数与Double类型的转换
*/
public static void StrToDouble(){
String str="1234.5678";
double num;
DecimalFormat myformat = new DecimalFormat("#0.00");
num = Double.parseDouble(str);//直接转换为double类型
num = Double.parseDouble(myformat.format(num));//保留2为小数
System.out.println(num);
}
}
C语言double数据加减,double类型数据的加减乘除相关推荐
- Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整
BigDecimal在用double做入参的时候,二进制无法精确地表示十进制小数,编译器读到字符串"0.0000002"和"1.0000002"之后,必须把它转 ...
- R语言广义加性模型(GAMs:Generalized Additive Model)建模:数据加载、划分数据、并分别构建线性回归模型和广义线性加性模型GAMs、并比较线性模型和GAMs模型的性能
R语言广义加性模型(GAMs:Generalized Additive Model)建模:数据加载.划分数据.并分别构建线性回归模型和广义线性加性模型GAMs.并比较线性模型和GAMs模型的性能 目录
- GBase 8a 加载longblob类型数据的方法
加载longblob类型数据的方法简介 longblob类型数据加载方法分为两种,一种是数据形式的加载,一种是文件形式的加载.加载longblob类型数据时,可以通过加载的table_fields参数 ...
- C语言32位系统下基本类型数据所占字节数
char :1个字节 short int : 2个字节 int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8个字节 long: 4个字节 ...
- 数据结构(C语言)多项式加减
这是大二刚开始数据结构的平时作业,上次随便发了,没来得及写标题和内容.题目要求用链表来实现多项式的加减,其实就是设置一个两个指针进行遍历,在代码段里有一些注解,要是有不太清楚的地方可以在下面留言或是私 ...
- C语言实现 动态数组 处理任意类型数据
引言:动态数组在C/C++.Java.Python等语言中应用广泛,高级语言一般通过调用类或接口等可以快捷使用,C语言实现动态数组需要手动构造,以下为实现过程. 1 结构体构造动态数组 typedef ...
- c语言实现补码加减,C语言计算器含二进制数加减原反补码(自己的期末作业)
用C++6.0编写的计算器,内含整数小数加减乘除.二进制数组加减及求原码补码反码! #include #include int main() { void top(); void no1(),no2( ...
- c语言字母可以加减吗,C语言算式加减法运算
/* 通过键盘输入100以内的正整数的加.减法 运算式,请编写一个程序输出运算结果字符串. 输入字符串的格式为:"操作数1 运算符 操作数2" ,"操作数" ...
- 表达式求值:从“加减”到“带括号的加减乘除”的实践过程
本文乃Siliphen原创,转载请注明出处:http://blog.csdn.NET/stevenkylelee ● 为什么想做一个表达式求值的程序 最近有一个需求,策划想设置游戏关卡的某些数值,这个 ...
最新文章
- 我看过的SDN方面的好文章
- 【android9.0】system/core下的usbhost模块无法输出log到logcat
- python socketserver实现服务器端执行命令 上传文件 断点续传
- 华中科技大学c语言作业答案,华中科技大学标准C语言程序设计及应用习题答案...
- mst算法matlab_基于并查集+Kruskal算法的matlab程序及最小生成树绘图
- wxWidgets:C++ 异常
- ii 组合总和_40. 组合总和 II – 力扣(LeetCode)
- python 一次输入10个数_python 如何一次输入3个整数
- 单片机小白学步系列(十) 单片机程序下载相关知识
- cacti登录密码忘记解决方法
- 中班音乐 机器人教案_【李小娜老师优秀教案分享】中班音乐活动小树叶教案及反思...
- html datatype自定义,$.ajax中dataType为html实现地区显示效果
- Python抓取打印机硒鼓和组件剩余量的爬虫
- ​云原生:重新定义云时代的技术标准 | 凌云时刻
- 8.10.3 熊猫分布密度制图
- 管理欲望:领导者的自我觉察与突破
- Tips--解决Deepin20系统安装完毕无WiFi问题
- win10系统如何查询本机的IP地址和外网IP地址
- 数据与广告系列三:合约广告与与衍生的第三方广告数据监控
- 用Nmap工具查找Downadup/Conficker的蠕虫病毒源
热门文章
- 计算机二级c语言程序填空,计算机二级c语言程序填空题.pdf
- 根据前序和后序遍历构造二叉树(附前序中序代码)
- 【微语】第一周(2020.11.16~11.22)
- 23种设计模式-门面模式《爱情公寓大电影》
- 使用POI将office(doc/docx/ppt/pptx/xls/xlsx)文件转html格式(附带源码)
- SourceMap 与前端异常监控
- [时态]八、特殊主系表句型的构成
- 【Java】【leetcode第25题】K 个一组翻转链表
- 16进制与ASCII互相转换
- 两数之和 IV - 输入 BST