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

标准件做啥网站网站开发类标书模板

标准件做啥网站,网站开发类标书模板,wordpress推特登陆,无锡网站制作排名JavaScript中的浮点数运算有时候会出现一点偏差。下面解释为什么0.1 0.2 ≠ 0.3,以及如果你需要精确运算应该怎么做。 如果1 2 3,那么为什么在JavaScript中0.1 0.2 ≠ 0.3?这个原因与计算机科学和浮点数运算有关。 我建议你打开浏览器的控制台,输入0.1 0.2来查看结果。… JavaScript中的浮点数运算有时候会出现一点偏差。下面解释为什么0.1 0.2 ≠ 0.3,以及如果你需要精确运算应该怎么做。 如果1 2 3,那么为什么在JavaScript中0.1 0.2 ≠ 0.3?这个原因与计算机科学和浮点数运算有关。 我建议你打开浏览器的控制台,输入0.1 0.2来查看结果。 不,你不需要调整浏览器–这就是它应该的工作方式,根据定义JavaScript语言的ECMAScript标准: “Number类型正好有18437736874454810627(即 2^64 - 2^53 3)个值,表示双精度64位格式IEEE 754标准中规定的值”——ECMAScript语言规范 JavaScript使用number基本类型表示数值,所有JavaScript数字实际上都是浮点数 —— 即使是整数。 这里的关键是JavaScript实现了IEEE浮点算术标准。让我们看看这意味着什么。 这里发生了什么? “你的语言没有出错,它在做浮点运算。计算机只能本地存储整数,所以它们需要某种方法来表示十进制数。这种表示法不是完全准确的。这就是为什么‘0.1 0.2 ! 0.3’的情况经常发生。” —— Erik Wiffin 在 0.30000000000000004.com 你可能已经知道所有数字在计算机中都是二进制的。 在二进制中,值以2进制的形式表示为0和1的序列,而不是我们通常使用的10进制。 我们得到浮点舍入误差的原因令人着迷,这与循环小数的概念有关。 只有当分母是基数的质因数时,分数才能“整洁地”(意思是作为没有循环小数的精确值)存储。 10进制的质因数是2和5,所以1/2、1/4、1/5、1/8和1/10可以整洁地表达,但是1/3、1/6、1/7和1/9是循环小数。 2进制的惟一质因数是2,所以只有1/2可以整洁地表示 —— 任何其他值都成为循环小数。 这意味着当我们使用0.1这样的10进制小数(1/10)时,它可以用一个十进制数字表示,但在二进制中却不行。 可以在二进制中整洁地表达的唯一分数是0.5(1/2)。可以自己尝试使用 IEEE-754浮点转换器。 浮点数也更慢 JavaScript中的浮点数与整数相比,通常情况下的表现也不同。例如,它们在for循环中更慢。 我们用jsPerf来测试两个微性能案例: 在jsPerf.com上查看这些测试案例 虽然差异不大,但浮点运算的平均速度确实比只使用整数值的基本for循环稍微慢一点。 这发生的原因是上一节中解释的那些二进制中浮点数的额外复杂性。 当然,代码库中这个差异还不足以造成影响,但是这是JavaScript的一个有趣的特性。 如果需要精确计算该怎么办? 如果你需要精确的JavaScript计算,例如处理金融交易,那么最好使用整数。 虽然所有的JavaScript数字在内部都表示为浮点值,但是在处理整数值时,你不会遇到不精确的问题,至少在低于 MAX_SAFE_INTEGER(2^53 - 1)的范围内: 一个方法是只以分工作——例如,通过将19.99美元的值表示为整数1999来代表。 在GitHub Gist上查看原始代码 另一种方法是创建一个对象来表示货币,并在内部使用整数值。例如: 在GitHub Gist上查看原始代码 许多库已经以更强大的方式解决了这个问题,包括accounting.js、currency.js、money.js和Numeral.js。 最后,你可以考虑使用BigInt基本类型,它可以表示任意大的整数(但不能表示浮点值): 在GitHub Gist上查看原始代码 TypeScript也支持BigInt,所以在TypeScript中使用BigInt可能是一个避免意外使用浮点数据的好选择。 结论 我对0.1 0.2实际上应该等于0.30000000000000004感到非常惊讶,因为浮点数运算。 这看起来像一个等待发生的错误,但是没有明确的解决方法,因为ECMAScript规范要求0.1 0.2 ≠ 0.3。 幸运的是,整数运算避免了讨厌的舍入误差,所以通过使用JavaScript数字(如果坚持整数)可以实现精确计算。 对于任意精度或确保永远不会有十进制值,你可以考虑使用JavaScript更新的BigInt基本类型。 你也可能会发现exact-math或math.js库很有帮助。它们都是用于使用JavaScript执行精确计算的。 编码快乐!️⌨️
http://www.zqtcl.cn/news/507265/

相关文章:

  • 怎么做网站设计商城型网站开发网站建设
  • 建设网站目录帮别人做网站要投资吗
  • 网站meta 优化建议桥梁建设设计网站
  • 网站建设 甘肃wordpress rss去掉
  • 网站安全检测大连网龙建站优化推广
  • 人才网官方网站公众号排名优化软件
  • 淘宝返利网站建设软件开发哪里学好
  • 烟台网站制作公司如何注册国外网站
  • discuz企业网站网站可以做音频线吗
  • 怎样制作网站教程哪家好制作网页的的网站
  • 网站没有织梦后台无锡seo公司网站
  • 哈尔滨住房和城乡建设厅网站公司网站建设 费用入账
  • 网站图片缩略图t恤图案设计网站
  • 对招聘网站页面设计做建议网站流量 转化率
  • 怎么样做网站注册量郴州市北湖区
  • 山东企业展厅设计公司济南网站建设优化公司
  • 什么网站免费做游戏工艺品外贸订单网
  • 免费推广网站制作网站设计的技术有
  • 深圳电商网站建设高校学风建设专栏网站
  • 品牌网站建设 2蝌蚪小三网合一的网站怎么做
  • 对二次网站开发的认识wordpress修改图片大小
  • 电商网站项目建设个人网站空间收费
  • 官方网站制作思路樟木头东莞网站建设
  • 怎么寻找做有益做网站的客户大连网站推广
  • 湖南网站开发企业excel网站建设
  • 安康网站建设技巧腾讯建设网站视频下载
  • 如何能让企业做网站的打算中企动力做网站贵吗
  • wordpress 空间常州seo
  • 网站负责人备案采集照具体要求湛江网吧
  • 长春建站模板制作php网站空间购买