- 浏览: 800320 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
引用自:http://www.cnblogs.com/linjiqin/p/3413894.html
一、简介
二、构造器描述
三、方法描述
四、格式化及例子
由于NumberFormat类的format()方法可以使用BigDecimal对象作为其参数,可以利用BigDecimal对超出16位有效数字的货币值,百分值,以及一般数值进行格式化控制。
以利用BigDecimal对货币和百分比格式化为例。首先,创建BigDecimal对象,进行BigDecimal的算术运算后,分别建立对货币和百分比格式化的引用,最后利用BigDecimal对象作为format()方法的参数,输出其格式化的货币值和百分比。
--Java 两个整数相除保留两位小数,将小数转化为百分数
http://blog.sina.com.cn/s/blog_624d755d0101cvuq.html
--double加减乘除借助BigDecimal类
https://blog.csdn.net/gulingfengze/article/details/54094193
--20160722
五、Mysql与BigDecimal类
--MYSQL数据库 的 decimal 字段类型 和 Java 的BigDecimal
https://blog.csdn.net/diyu122222/article/details/76887382
--mysql的decimal
https://blog.csdn.net/weixin_42047611/article/details/81449663
六、Oracle与BigDecimal类
--oracle number对应java数据类型BigDecimal
https://www.cnblogs.com/vindanear/p/5410685.html
一、简介
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
二、构造器描述
BigDecimal(int) 创建一个具有参数所指定整数值的对象。 BigDecimal(double) 创建一个具有参数所指定双精度值的对象。 BigDecimal(long) 创建一个具有参数所指定长整数值的对象。 BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。
三、方法描述
add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。 subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。 multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。 divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。 toString() 将BigDecimal对象的数值转换成字符串。 doubleValue() 将BigDecimal对象中的值以双精度数返回。 floatValue() 将BigDecimal对象中的值以单精度数返回。 longValue() 将BigDecimal对象中的值以长整数返回。 intValue() 将BigDecimal对象中的值以整数返回。
四、格式化及例子
由于NumberFormat类的format()方法可以使用BigDecimal对象作为其参数,可以利用BigDecimal对超出16位有效数字的货币值,百分值,以及一般数值进行格式化控制。
以利用BigDecimal对货币和百分比格式化为例。首先,创建BigDecimal对象,进行BigDecimal的算术运算后,分别建立对货币和百分比格式化的引用,最后利用BigDecimal对象作为format()方法的参数,输出其格式化的货币值和百分比。
public static void main(String[] args) { NumberFormat currency = NumberFormat.getCurrencyInstance(); //建立货币格式化引用 NumberFormat percent = NumberFormat.getPercentInstance(); //建立百分比格式化引用 percent.setMaximumFractionDigits(3); //百分比小数点最多3位 BigDecimal loanAmount = new BigDecimal("15000.48"); //贷款金额 BigDecimal interestRate = new BigDecimal("0.008"); //利率 BigDecimal interest = loanAmount.multiply(interestRate); //相乘 System.out.println("贷款金额:\t" + currency.format(loanAmount)); System.out.println("利率:\t" + percent.format(interestRate)); System.out.println("利息:\t" + currency.format(interest)); }
--Java 两个整数相除保留两位小数,将小数转化为百分数
http://blog.sina.com.cn/s/blog_624d755d0101cvuq.html
--double加减乘除借助BigDecimal类
https://blog.csdn.net/gulingfengze/article/details/54094193
--20160722
--html页面js保留2位小数 function doFixedFun(a){ var nNum = parseFloat(a); if(!isNaN(nNum)) { //alert(nNum.toFixed(2)); return nNum.toFixed(2); } }
public class BigDecimalDemo { /** * 两个double类型的数相加 * @param a * @param b * @return */ private static double getAddResult(double a,double b){ /*double要先转String,再转BigDecimal*/ BigDecimal a2=new BigDecimal(Double.toString(a)); BigDecimal b2=new BigDecimal(Double.toString(b)); return a2.add(b2).doubleValue(); } /** * 两个double类型的数相减 * @param a * @param b * @return */ private static double getSubtractResult(double a,double b){ /*double要先转String,再转BigDecimal*/ BigDecimal a2=new BigDecimal(Double.toString(a)); BigDecimal b2=new BigDecimal(Double.toString(b)); return a2.subtract(b2).doubleValue(); } /** * 两个double类型的数相乘 * @param a * @param b * @return */ private static double getMultiplyResult(double a,double b){ /*double要先转String,再转BigDecimal*/ BigDecimal a2=new BigDecimal(Double.toString(a)); BigDecimal b2=new BigDecimal(Double.toString(b)); return a2.multiply(b2).doubleValue(); } /** * 两个double类型的数相除 * @param a * @param b * @return */ private static double getDivideResult(double a,double b){ /*double要先转String,再转BigDecimal*/ if(b<=0){ throw new IllegalStateException("除数不能小于等于0"); } BigDecimal a2=new BigDecimal(Double.toString(a)); BigDecimal b2=new BigDecimal(Double.toString(b)); return a2.divide(b2).doubleValue(); } /** * 数字格式化,"0.00" * @param str * @return */ private static String getValue(String str){ short a=100; long number=1999L; //java.text.DecimalFormat DecimalFormat decimalFormat=new DecimalFormat("0.00"); return decimalFormat.format(number); } public static void main(String[] args) { System.out.println("1、格式:"+BigDecimalDemo.getValue("")); System.out.println("2、double数相加:"+getAddResult(0.08, 0.98)); double c=getAddResult(getAddResult(0.08, 0.98),1.66); System.out.println("c="+c); long y=1000066; long x=199993L; double a=0.1888; float b=1.992f; System.out.println("3、double数相减:"+getMultiplyResult(3.08, 0.98)); System.out.println("4、double数相乘:"+getSubtractResult(0.08, 0.98)); System.out.println("5、double数相除:"+getDivideResult(8.888, 0)); }
五、Mysql与BigDecimal类
--MYSQL数据库 的 decimal 字段类型 和 Java 的BigDecimal
https://blog.csdn.net/diyu122222/article/details/76887382
--mysql的decimal
https://blog.csdn.net/weixin_42047611/article/details/81449663
六、Oracle与BigDecimal类
--oracle number对应java数据类型BigDecimal
https://www.cnblogs.com/vindanear/p/5410685.html
相关推荐
alert(new BigDecimal("10").add(new BigDecimal("3E+10"))); //- alert(new BigDecimal("10").subtract(new BigDecimal("3E+10"))); //* alert(new BigDecimal("10").multiply(new BigDecimal("3E+10"))); // / ...
var sum = bigNum1.add(bigNum2); ``` 或者,进行除法运算并指定精度: ```javascript var quotient = bigNum1.divide(bigNum2, 10, BigDecimal.ROUND_HALF_UP); ``` 此外,BigDecimal.js还支持其他数学运算,如...
应该使用对应的`add()`、`subtract()`、`multiply()`、`divide()`方法。 - `divide()`方法如果没有指定精度和舍入模式,可能会抛出`ArithmeticException`异常,因为除不尽的数默认无法处理。 6. 性能考虑: `...
2. **算术操作**:提供加法(`add`)、减法(`subtract`)、乘法(`multiply`)、除法(`divide`)等基本算术运算,这些操作能确保结果的精度不受JavaScript Number类型的限制。 3. **比较操作**:支持小于(`lt`)...
在Java编程语言中,`java.lang.Math`类提供了一系列用于执行基本数学运算的方法和常量。这个类包含静态方法和常量,使得开发者无需实例化对象即可直接调用其功能,极大地简化了数学计算的过程。 ### 常量 #### ...
const sum = bd1.add(bd2); console.log(sum.toString()); // 输出 "11111111111.1111111110" // 减法 const difference = bd1.subtract(bd2); console.log(difference.toString()); // 输出 "-8641975210....
2. **减法**:使用`subtract()`方法实现两个BigDecimal对象相减。 ```java public static BigDecimal subtract(String num1, String num2) { BigDecimal bd1 = new BigDecimal(num1); BigDecimal bd2 = new ...
下面是关于 BigDecimal 的使用方法和注意事项: 1. 导包:在使用 BigDecimal 之前,需要导入 java.math.BigDecimal 包。 2. 创建 BigDecimal 对象:可以通过多种方式创建 BigDecimal 对象,例如将 double 或 ...
在Java编程语言中,`BigDecimal` 类位于 `java.math` 包中,是用于执行高精度和任意精度的十进制算术运算的关键类。它主要用于处理需要精确数值计算的场景,例如金融或会计领域,因为传统的 `float` 和 `double` ...
BigDecimal percentage = number1.multiply(new BigDecimal("100")).add(new BigDecimal(".00")); ``` 除了`BigDecimal`,`java.math`包还包含了其他有用的类,如`BigInteger`,它支持任意精度的整数运算,适用于...
它还支持`add()`, `subtract()`, `multiply()`, `divide()`, `divideToIntegralValue()`等方法。 4. **舍入模式**:在执行除法运算时,`BigDecimal`提供了多种舍入模式,如`ROUND_UP`, `ROUND_DOWN`, `ROUND_HALF_...
操作`BigInteger`和`BigDecimal`对象时,不能使用传统的运算符,而是要调用它们提供的方法,比如`add()`, `subtract()`, `multiply()`, 和 `divide()`。例如,执行`a * (b - 1) / c + 1`的计算,你需要写成: ```...
import java.math.BigDecimal; import java.text.DecimalFormat; public class Calculation { public static final DecimalFormat df = new DecimalFormat("######0.00"); /** * @methodName format2point * @...
`BigDecimal`类库提供了丰富的操作方法,包括加法(add)、减法(subtract)、乘法(multiply)、除法(divide)、求余(remainder)、比较(compare)等,这些方法都是为了确保在进行高精度运算时的准确无误。...
`BigDecimal`提供了丰富的运算方法,如`add()`(加法)、`subtract()`(减法)、`multiply()`(乘法)、`divide()`(除法)等。每个运算方法都有多个重载版本,用于指定运算的精度和舍入模式。例如,`divide...
2. `BigDecimal` 类:同样在`java.math`包下,`BigDecimal`用于表示任意精度的十进制数。与`BigInteger`不同,它处理浮点数,适合处理财务或精确计算场景。`BigDecimal`避免了浮点数运算中的精度损失问题,因为它...
8. **运算效率**:连续多次使用`add()`、`subtract()`等方法可能会导致大量中间对象的生成,可以考虑使用`BigDecimal`的`stripTrailingZeros()`方法减少对象数量。 综上,`BigDecimal`是Java中处理精确数值计算的...
也可以使用add()、subtract()、multiply()和divide()方法来进行数学运算。 在本文中,我们提供了一个测试代码,展示了如何创建BigDecimal对象、如何使用不同的构造方法、如何进行数学运算等。代码如下: ```java ...
Java中BigDecimal类的使用详解 Java中BigDecimal类是Java.math包中提供的一个API类,用于对超过16位有效位的数进行精确的运算。由于浮点数的精度问题,Java中浮点数的计算会失去一定的精确度。因此,使用BigDecimal...
BigDecimal提供了add(), subtract(), multiply(), divide()等方法来实现加减乘除运算。例如: BigDecimal bignum1 = new BigDecimal("10"); BigDecimal bignum2 = new BigDecimal("5"); BigDecimal bignum3 = ...