`
bingooh
  • 浏览: 52844 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

8.48 避免使用float,dobule进行精确计算

 
阅读更多

不能使用float、double进行精确计算,因为浮点数本身是不精确的,如以下代码:

		double result=1.00d-0.90d;
		System.out.println(result);//打印0.09999999999999998

 

可以使用BigDecimal进行精确计算,BigDecimal可以表示任意精度的数字,如下:

		BigDecimal first=BigDecimal.valueOf(1.00d);
		BigDecimal second=BigDecimal.valueOf(0.90d);
		BigDecimal result=first.subtract(second);
		System.out.println(result.doubleValue());//打印0.1

 

BigDecimal是不可变类,使用此类可能影响性能。因此可以考虑使用int,long进行计算。假设上例仅有两位小数,并且确定计算结果不会超出int类型所能存储的最大数字,那么可把数字放大100倍,作为int类型进行计算

 

小数计算基本原则如下:

1.优先使用BigDecimal进行小数计算

2.如果需要提高计算性能,可以使用int或long进行计算,但是需要自行处理小数位数,并且int类型不能超过9位小数,long类型不能超过18位小数

 

 

 

分享到:
评论

相关推荐

    Bitvise SSH Client 8.48 安装包

    Bitvise SSH Client 8.48 2021最新版,Windows最强ssh客户端,连接服务器超好用

    ThrottleStop 最新版8.48

    上传资源的目的是因为之前下载的ThrottleStop8.40版本过期了(打开后提示This beta version has now expired.),内网也没有新版,寻找到这个最新版本,上传后以便大家使用。 保证原版资源无任何修改添加。 throttle...

    AlphaControlsV8.48FullSource〖含安装使用步骤和源码DEMO〗

    AlphaControls是一个标准的独创的皮肤控件集合,它具有很多新的属性可以添加到普通的控件中以增强程序界面效果,同时还能够添加一些行为到普通的控件中,并且使用了一些新技术。AlphaControls是一个易于使用和强大的...

    BvSshServer-Inst8.48.exe

    BvSshServer-Inst8.48.exe

    Skype-8.48.0.51.dmg

    Skype-8.48.0.51.dmg,Mac版的 Skype-8.48.0.51.dmgdmg格式,Skype方便使用,无侵入,安全,拿出来与大家共享。Skype-8.48.0.51.dmg

    ThrottleStop V8.48解决CPU降频软件.zip

    ThrottleStop8.48是当前最新版本,可以解决8.40版本在使用时提示This beta version has now expired的问题。throttlestop用于防止cpu降频运行,解决电脑cpu达不到最高性能的问题。现在的CPU很智能化,当温度...

    TOTOLINK N500R_8.48编程器固件 8196c+8192dr

    TOTOLINK N500R_8.48编程器固件 8196c+8192dr

    AlphaControls v8.48 (24.10.2013) STABLE for Delphi 5-XE5

    最好的Delphi皮肤控件,8.48版本(24.10.2013),最新版本,支持Delphi 5-XE5 !

    BvSshClient-Inst__8.48.exe(2021-06-14)

    Bitvise SSH Client最新版是一款十分专业的端口转发工具,Bitvise SSH Client最新版支持socks4、socks4 a、socks5 和 http 连接代理隧道协议/支持pem证书,可以帮助大家轻松快捷的对本地文件和远端文件进行管理,...

    winsshd_ssh.zip

    WinSSHD 是一款Windows NT/2000/XP/2003下的SSH服务器 支持如下SSH2服务: ...利用SFTP和SCP进行安全的文件传输 安全的TCP/IP连接隧道(端口转发) 还支持Windows的域帐号和公共密匙验证。(共享软件)

    MediaCoder中文版 v0.8.48专业版特别版

    通过将原本完全依赖CPU的计算工作转移到GPU上进行,H.264和H.265编码所需的时间被大幅缩短。软件打开是俄文的安装界面,但是已经是和谐过的,可以用高级功能。直接下一步下一步装好直接正常使用就可以了。

    万能BIOS刷新工具Universal Flash Utility V8.93

    万能BIOS刷新工具Universal Flash Utility V8.93 ...但由于该程序对主板芯片组等的检查过于严格,因此若是想借用其它主板来个热插拔修复BIOS的话,只有用同样的主板(至少也是同芯片组的主板)来进行。

    CSRender云渲染客户端v4.5.16.23免费安装版

    CSRender客户端是一款效果图渲染软件。CSRender云渲染平台支持MAYA,MAX,VUE,V-RAY等软件,拥有分块渲染效果图,渲染小管家,微信绑定,项目管理,一键式提交等特色功能。 CSRender云渲染平台特色介绍 1、分块渲染...

    学生信息管理系统

    学生信息管理系统,在VC6.0下用C/C++实现,DOS下操作界面。用链表保存所有学生的信息,包括姓名,性别,年龄,分数等,可以保存到文件里。登录系统需要输入密码。可以实现查询,添加,删除,修改学生信息等操作

    中国动画软件市场运营分析及发展前景剖析报告

    2022年全球动画软件市场规模达22160.4亿元(人民币),中国动画软件市场规模达 亿元,据贝哲斯咨询预测,2028年全球动画软件市场规模将增长至36107.11亿元, 2022-2028预测期间CAGR将达到8.48%。 动画软件报告从...

    data2_224X224.zip

    CNN网络模型训练,数据为王,使用相同机器学习算法,不同质量的数据能训练出不同效果的模型如果你用谷歌搜索“AI+农业”或者“人工智能+农业”,就会发现与AI在其他领域的应用相比,农业依旧是未经广泛开垦的“蛮荒...

    TalkingData-2018年8月移动游戏Benchmark_15425968966401

    4.8%和1.0% 4.22 3.70 4.97 3.41 5.93 4.73 5.44 5.62 8.48 4.88 6.26 4.51 5.27 3.31

    2015年前10月内蒙古煤化工利润下滑

    作为内蒙古优势特色产业的化工行业,完成投资1 002.10亿元,同比增长8.48%,占全区工业固定资产投资的比重为16.46%。内蒙古化工投资增长首次出现大幅回落,此前近5年内增长幅度均在20%以上。据不完全统计,前10个月,...

    运行/bin/kibana报错FATAL Error: listen EADDRNOTAVAIL 123.57.251.57:5601

    先上一张图 FATAL Error: listen EADDRNOTAVAIL 123.57.251.57:5601 配置文件我是这样配置的: [root@head-kib ~]# cd /usr/local/kibana-6.5.4-linux-x86_64/config/ [root@head-kib config]# vim kibana.yml ...

Global site tag (gtag.js) - Google Analytics