Skip to content

Java浮点数精度丢失及解决方法

 首先 众所周知 1-0.9 的结果为0.1

 但是由图可知道 实际结果并不为0.1

这是因为程序 中十进制数字优先转化为二进制,然后再进行运算,Float和Double 小数由于是IEEE754,而IEEE754是浮点数运算标准,为许多CPU与浮点运算器所采用。容易出现无限不循环的情况,导致精度丢失。

所以当我们在金融、工程。科学领域,对计算数值的精度要求较高时,为了避免计算结果不精确,往往采用BigInteger和BigDecimal+字符串来解决精度丢失的问题。

采用构造方法创建BigInteger和BigDecimal对象,当初始化时应该采用String,因为用double时为近似值。

当浮点数超出范围时(溢出时)结果为Infity(无穷)

 输出结果时,在IntValue,LongValue后加Exact,若产生溢出,则会抛出异常。BigInteger out of long range。

 

 


版权声明:本文为m0_66605858原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

深圳SEO优化公司大浪百度标王民治关键词按天计费南山网站建设设计南澳百度标王龙华建设网站塘坑seo大运网站优化软件福田百度爱采购石岩建网站盐田网站改版南山建站盐田模板网站建设平湖标王松岗网站设计模板盐田网站seo优化塘坑模板制作双龙模板网站建设永湖seo网站优化福田百度网站优化排名大芬关键词排名深圳网站优化爱联网络推广丹竹头百度网站优化排名民治百姓网标王推广福永网站优化按天收费沙井百度关键词包年推广西乡营销型网站建设民治网络推广大浪网站排名优化永湖SEO按效果付费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化