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

西部数码个人网站网站套餐方案

西部数码个人网站,网站套餐方案,一级域名做网站的好处,网站标题有特殊符号JavaScript 中的数字按照 IEEE 754 的标准#xff0c;使用 64 位双精度浮点型来表示。其中符号位 S#xff0c;指数位 E#xff0c;尾数位M分别占了 1#xff0c;11#xff0c;52 位#xff0c;并且在 ES5 规范 中指出了指数位E的取值范围是 [-1074, 971]。精度问题汇总想…JavaScript 中的数字按照 IEEE 754 的标准使用 64 位双精度浮点型来表示。其中符号位 S指数位 E尾数位M分别占了 11152 位并且在 ES5 规范 中指出了指数位E的取值范围是 [-1074, 971]。精度问题汇总想用有限的位来表示无穷的数字显然是不可能的因此会出现一些列精度问题浮点数精度问题比如 0.1 0.2 ! 0.3大数精度问题比如 9999 9999 9999 9999 1000 0000 0000 0000 1toFixed 四舍五入结果不准确比如 1.335.toFixed(2) 1.33浮点数精度和 toFixed 其实属于同一类问题都是由于浮点数无法精确表示引起的如下(1.335).toPrecision(20); // 1.3349999999999999645而关于大数精度问题我们可以先看下面这个代码片段// 能精确表示的整数范围上限,S为1个0E为11个0S为53个1Math.pow(2, 53) - 1 Number.MAX_SAFE_INTEGER // true// 能精确表示的整数范围下限,S为1个1E为11个0S为53个1-(Math.pow(2, 53) - 1) Number.MIN_SAFE_INTEGER // true// 能表示的最大数字S为1个0E为971S为53个1(Math.pow(2, 53) - 1) * Math.pow(2, 971) Number.MAX_VALUE // true// 能表示的最接近于0的正数S为1个0E为-1074S为0Math.pow(2, -1074) Number.MIN_VALUE // true通过以上可以明白[MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] 的整数都可以精确表示但是超出这个范围的整数就不一定能精确表示。这样就会产生所谓的大数精度丢失问题。解决思路首先考虑的是如何解决浮点数运算的精度问题有 3 种思路考虑到每次浮点数运算的偏差非常小(其实不然)可以对结果进行指定精度的四舍五入比如可以parseFloat(result.toFixed(12));将浮点数转为整数运算再对结果做除法。比如0.1 0.2可以转化为(1*2)/3。把浮点数转化为字符串模拟实际运算的过程。先来看第一种方案在大多数情况下它可以得到正确结果但是对一些极端情况toFixed 到 12 是不够的比如210000 * 10000 * 1000 * 8.2 // 17219999999999.998parseFloat(17219999999999.998.toFixed(12)); // 17219999999999.998而正确结果为 17220000000000上面的情况如果想让结果正确需要 toFixed(2)这显然是不可接受的。再看第二种方案比如 number-precision 这个库就是使用的这种方案但是这也是有问题的比如// 这两个浮点数转化为整数之后相乘的结果已经超过了 MAX_SAFE_INTEGER123456.789 * 123456.789 // 转化为 (123456789 * 123456789)/1000000结果是 15241578750.19052所以最终考虑使用第三种方案目前已经有了很多较为成熟的库比如 bignumber.jsdecimal.js以及big.js等。我们可以根据自己的需求来选择对应的工具。并且这些库不仅解决了浮点数的运算精度问题还支持了大数运算并且修复了原生toFixed结果不准确的问题。题外话还有另外一个与 JavaScript 计算相关的问题即 Math.round(x)它虽然不会产生精度问题但是它有一点小陷阱容易忽略。下面是它的舍入的策略如果小数部分大于 0.5则舍入到下一个绝对值更大的整数。如果小数部分小于 0.5则舍入到下一个绝对值更小的整数。如果小数部分等于 0.5则舍入到下一个正无穷方向上的整数。所以对 Math.round(-1.5)其结果为 -1这可能不是我们想要的结果。当然上面提到的 big.js 等库都提供了自己的 round 函数并且可以指定舍入规则以避免这个问题。
http://www.huolong8.cn/news/264159/

相关文章:

  • 做网站 网络映射建站推广什么意思
  • 制作网站培训学校哈尔滨优化调整人员流动管理
  • 河间做网站 申梦网络网站空间关闭了怎么办
  • 自己做网站要多少钱做网站公司-汉狮网络
  • 4a网站建设公司网站开发的英文文献
  • 个人网站上线流程软件开发上海
  • 网站建设三折页网页制作流程
  • 高端开发网站系统外链网
  • 网站建设 价格低做3D打印样品用什么外贸网站好
  • 咖啡网站开发背景怎么写天津公众号开发
  • 江门免费模板建站中国建设银行支付网站
  • 承德市建设局网站wordpress顶部菜单怎么删
  • ktv支付订房网站模板泉州网站建设方案详细
  • 主流网站 技术云主机和云服务器有什么区别
  • 做网站 蓝洋网站诊断seo当前数据是指
  • 东莞seo网站排名优化wordpress电影资源网站
  • 天津泰达建设集团有限公司网站个人网站的备案
  • 医疗网站不备案小制作图片
  • 哪些网站可以在线做动图网站留言板怎么做php
  • 网站开发需要多久wordpress 怎么添加网站备案信息
  • 有了网站源码如何做网页网站建设公司推荐乐云seo
  • 云之创网站建设好企业网站
  • 做视频网站视频文件都存放在哪成年培训班有哪些
  • 无锡市网站建设长春市
  • 怎么样网站速度快天元建设集团有限公司第六分公司
  • asp装饰公司网站源码酒店网站 asp.net
  • wordpress建站 图片上海环球金融中心造价
  • 网站设计评语兼职网站开发
  • 一流的天津网站建设英文网站设计
  • 网页中网站设计规划流程天津企悦在线网站建设