查看原文
其他

BigDecimal类的加减乘除(解决double计算精度问题)

2017-01-19 qq_28270161 终端研发部
科技微讯

 任命陆奇为百度集团总裁兼首席运营官后,百度今天上午举行了媒体沟通会。在沟通会上,李彦宏表示,对于传统制造业来说,未来有很大的机会实现智能化。他认为,人工智能技术植入到任何一个产品上都能够理解自然的语言,这样人和物的交流就会更加的自然、更加的顺畅,而这其实是可以颠覆制造业的。李彦宏表示,人真正的能够用人话跟机器进行交流才叫智能,过去都是人在学机器的话,以后希望是机器学人。

作者简介

本篇讲解了在关于计算相关的一些问题。来自http://blog.csdn.net/qq_28270161/article/details/46818641的投稿。来自用到了工具类:BigDecimal。 本文将的比较基础,但是用处确非常的广泛。在很多地方都用的到。比如说支付计算所付金额。,商品计算数量,计算总价格等。

正文

BigDecimal简介

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

BigDecimal类的常用方法


在我们使用double来计算时,有时候会出现小数点后面00000003(例如:10.0000000003),是因为Java底层对数值的运算是通过二进制进行计算的。

示例代码

使用上面的工具类进行计算

也可以直接在Android这样调用:

工具类下载地址: htttp://download.csdn.net/detail/androidstarjack/9740506 

如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809 
微信公众号:终端研发部 
(欢迎关注学习和交流) 

 





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存