当前位置: 首页 > news >正文

python web开发从入门到实战潍坊seo建站

python web开发从入门到实战,潍坊seo建站,做外销网站服务器好吗,seo整站优化方法1.背景 1.10.1 1.2000000000000002 发现上面计算的值竟然和数学计算不一致 2. 问题 计算机是通过二进制计算的,如果我们在二进制的视角来看待上面问题,就很容易发现问题了。 例如:把「0.1」转成二进制的表示,然后还原成十进制&…

1.背景

1.1+0.1 = 1.2000000000000002

发现上面计算的值竟然和数学计算不一致

2. 问题

计算机是通过二进制计算的,如果我们在二进制的视角来看待上面问题,就很容易发现问题了。
例如:把「0.1」转成二进制的表示,然后还原成十进制,就能看出问题。

3. 0.1转二进制

小数转二进制,是通过除法进行的

0.1 = 1 ÷ 10

很简单,二进制就是要算

1 ÷ 1010

最终0.1转二进制是:0.0001100110011001100110011001100110011001100110011001101

在这里插入图片描述

4.转换成对应精度数值

float的精度为7~8位有效数字,7位肯定能保证,8位的值也存在。
double的精度为16~17位有效数字
所以
二进制展示

1.1+0.1 = 1.0011001100110011001100110011001100110011001100110100

十进制展示

1.1+0.1 = 1.2000000000000002

5.解决方案

针对浮点数丢失精度的问题,我们可以通过BigDecimal来解决
new BigDecimal(double val)
该方法是不可预测的,以0.1为例,你以为你传了一个double类型的0.1,最后会返回一个值为0.1的BigDecimal吗?不会的,原因在于,0.1无法用有限长度的二进制数表示,无法精确地表示为双精度数,最后的结果会是0.100000xxx。
new BigDecimal(String val)
该方法是完全可预测的,也就是说你传入一个字符串"0.1",他就会给你返回一个值完全为0,1的BigDecimal,官方也表示,能用这个构造函数就用这个构造函数叭。
BigDecimal.valueOf(double val)
第二种构造方式已经足够优秀,可你还是想传入一个double值,怎么办呢?官方其实提供给你思路并且实现了它,可以使用Double.toString(double val)先将double值转为String,再调用第二种构造方式,你可以直接使用静态方法:valueOf(double val)。

    总结:将double转为BigDecimal的时候,需要先把double转换为字符串,然后再作为BigDecimal(String val)构造函数的参数,这样才能避免出现精度问题。
http://www.yidumall.com/news/19419.html

相关文章:

  • 太原网站建设鸣蝉有哪些推广平台和渠道
  • 网站建设开发上线流程宁波优化seo是什么
  • 湖州住房和城乡建设厅网站搜索引擎优化管理实验报告
  • 北京网站设计合理刻google排名
  • 网站建设和利用情况学计算机哪个培训机构好
  • 福州自适应网站建设百度网站检测
  • 深圳燃气公司热线95158微信小程序排名关键词优化
  • 安阳网站公司哪家好对百度竞价排名的看法
  • 做情趣导航网站可以吗站长工具天美传媒
  • 现在可以用的网站深圳在线制作网站
  • seo在线优化简阳seo排名优化培训
  • 网页设计与网站建设中的热点按效果付费的网络推广方式
  • 网站建设百度推广开户怎么自己注册网站
  • 小程序制作pdf单页网站怎么优化
  • 做网站费用列入什么科目国内免费域名
  • 简单的公司资料网站怎么做百度客服人工电话24
  • n怎样建立自己的网站推广app平台有哪些
  • 做外国网站自媒体西安网站优化
  • 网站设计制作服务热线贵阳网站建设
  • 网站建设培训教程新手入门到精通抖音怎么推广引流
  • 网站代理做反向深圳全网推广服务
  • 网上有做任务赚钱的网站seo关键词排名优化专业公司
  • 做设计开店的网站免费网页制作平台
  • wordpress按照浏览量排序关键词优化报价
  • 做ps的赚钱的网站有哪些爱站在线关键词挖掘
  • 网站建立的关键技术发布软文的平台有哪些
  • 网站公司深圳百度推广投诉中心
  • 高平网站优化公司百度收录推广
  • 用html做网站的背景图怎么弄网页制作app
  • wordpress 主题全屏seo优化公司哪家好