

免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
个人收集整理-ZQJava中使用BigDecimal进行浮点数精确计算、超大整数、浮点数等计算没有数位限制(注:前面写了一个超大整数相加的类,参见: 超大整数相加,超过了的范围,你要怎么做!,后来有朋友评论说可以完全实现我的这这个功能,刚开始的时候,我还不服气,据我所知那里有这样的类哦,后来报着说服他的心理去找了一下,呵呵,结果居然自己被说服了,确实有这么一回事,利用操作超大整数一样,也是先把要操作的数据转换为字符串型。使用可以进行高精度的工程运算,就不会计算中的精度发愁了,感谢原作者。)转自: 浮点数精确计算 的用法的用法? 浮点数 精确计算 如果我们编译运行下面这个程序会看到什么? ( ) (); (); (*); (); ;你没有看错!结果确实是中的简单浮点数类型和不能够进行运算。不光是,在其它很多编程语言中也有这样的问题。在大多数情况下,计算的结果是准确的,但是多试几次(可以做一个循环)就可以试出类似上面的错误。现在终于理解为什么要有码了。b5E2R。b5E2R。这个问题相当严重,如果你有元,你的计算机是不会认为你可以购买元的商品的。在有的编程语言中提供了专门的货币类型来处理这种情况,但是没有。现在让我们看看如何解决这个问题。四舍五入我们的第一个反应是做四舍五入。类中的方法不能设置保留几位小数,我们只能象这样(保留两位): ( ) (*);非常不幸,上面的代码并不能正常工作,给这个方法传入它将返回而不是,如我们在上面看到的*因此如果我们要做到精确的四舍五入,不能利用简单类型做任何运算也不能解决这个问题:( ()();输出是在 这本书中也提到这个原则,和只能用来做科学计算或者是工程计算,在商业计算中我们要用 。一共有个够造方法,我们不关心用来够造的那两个,那么还有两个,它们是:p1Ean。p1Ean。( ) . ( ) .上面的简要描述相当的明确,而且通常情况下,上面的那一个使用起来要方便一些。我们可能想都不想就用上了,会有什么问题呢?等到出了问题的时候,才发现上面哪个够造方法的详细说明中有这么一段:DXDiT。DXDiT。: . () , . (, , ). , , . RTCrp。RTCrp。 () , , : () , . , () .原来我们如果需要精确计算,非要用来够造不可!在 一书中的例子是用来够造的,但是书上却没有强调这一点,这也许是一个小小的失误吧。5PCzV。5PCzV。解决方案现在我们已经可以解决这个问题了,原则是使用并且一定要用来够造。但是想像一下吧,如果我们要做一个加法运算,需要先将两个浮点数转为,然后够造成,在其中一个上调用方法,传入另一个作为参数,然后把运算的结果()再转换为浮点数。你能够忍受这么烦琐的过程吗?下面我们提供一个工具类来简化操作。它提供以下静态方法,包括加减乘除和四舍五入:jLBHr。jLBHr。 ( ) ( ) ( ) ( ) ( ) ( )附录源文件: ;* * 由于的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 * 确的浮点数运算,包括加减乘除和四舍五入。 * 默认除法运算精度 ; 这个类不能实例化 () * * 提供精确的加法运算。 * 被加数 * 加数 * 两个参数的和 * ( ) (); (); ()(); * * 提供精确的减法运算。 * 被减数 * 减数 * 两个参数的差 * ( ) (); (); ()(); * * 提供精确的乘法运算。 * 被乘数 * 乘数 * 两个参数的积 * ( ) (); (); ()(); * * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 * 小数点以后位,以后的数字四舍五入。 * 被除数 * 除数 * 两个参数的商 * ( ) (); * * 提供(相对)精确的除法运算。当发生除不尽的情况时,由参数指 * 定精度,以后的数字四舍五入。 * 被除数 * 除数 * 表示表示需要精确到小数点以后几位。 * 两个参数的商 * ( ) () ( ); (); (); ()(); * * 提供精确的小数位四舍五
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 观察身体活动方案
- 高等男友考试题及答案
- 品牌市场推广与广告服务协议细节说明
- 稳定供货周期及质量承诺书4篇范文
- 质量控制标准化检测模板与操作指南
- 法医证考试题及答案
- 员工绩效管理目标设定与跟踪表
- (正式版)DB15∕T 3661-2024 《内蒙古东部区丹参育苗技术规程》
- (正式版)DB15∕T 3371-2024 《油莎豆良种繁育技术规程》
- 《世界民族音乐文化特点介绍与赏析教案》
- 装配式建筑装饰装修技术 课件 模块六 集成厨房
- DZ/T 0461.3-2023 矿产资源定期调查规范 第3部分:外业工作(正式版)
- ISO28000:2022供应链安全管理体系
- 建筑与小区海绵城市建设技术规范
- MOOC 电工电子实验基础-东南大学 中国大学慕课答案
- 中国腹腔镜胃癌根治手术质量控制专家共识
- 公司质量培训计划方案
- 2024年辽宁省成考(专升本)大学政治考试真题含解析
- 供应商审计培训课件
- 国家临床版3.0手术操作编码(ICD-9-CM3)
- 发展汉语初级综合1:第3课课件
评论
0/150
提交评论