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

网站开发公司怎么查网站建设公司做前端

网站开发公司怎么查,网站建设公司做前端,做网站上传图片一直错误,电脑版qq一、前言 与其他语言不同#xff0c;在JS中不区分整数与浮点数#xff0c;统一为浮点数。所有数字类型统一都是基于 IEEE 754 标准来实现#xff1b;采用的是“双精度”格式#xff08;即 64 位二进制#xff09;。这也意味着在小数计算时#xff0c;会发生精度误差的情…一、前言 与其他语言不同在JS中不区分整数与浮点数统一为浮点数。所有数字类型统一都是基于 IEEE 754 标准来实现采用的是“双精度”格式即 64 位二进制。这也意味着在小数计算时会发生精度误差的情况这并不是js独有的其他基于IEEE 754标准的都会有这样的问题。 二、属性方法 2.1 定义数字类型 JS中的数字常量一般用十进制表示。例如 const a 42; const b 42.3;数字前后的 0 可以省略不建议请规范写法 const a 0.42; const b .42; const c 42.0; const d 42.;数字常量还可以用其他格式来表示八进制和十六进制如果前缀为 0则 JavaScript 会把数值常量解释为八进制数如果前缀为 0 和 “x”则解释为十六进制数。例如 const a 070; const b 0xFF;2.2 特殊的数值 2.2.1 最大值Number.MAX_SAFE_INTEGER 最大整数是 2^53 - 1即 9007199254740991在 ES6 中被定义为Number.MAX_SAFE_INTEGER。 2.2.2 最小值Number.MIN_SAFE_INTEGER 最小整数是 -9007199254740991在 ES6 中被定义为 Number.MIN_SAFE_INTEGER。 2.2.3 无穷数 在进行运算时可能都遇到过编译错误或者运行时错误例如“除以 0”。这个时候不会得到无穷数正无穷InfinityNumber.POSITIVE_INFINITY与负无穷-InfinityNumber.NEGATIVE_INFINITY。 2.2.4 不是数字的数字NaN 如果数学运算的操作数不是数字类型或者无法解析为常规的十进制或十六进制数字就无法返回一个有效的数字这种情况下返回值为 NaN。可以通过Number.isNaN(值)判断。 const a 2 / 测试; // NaN a NaN; // false a NaN; // false Number.isNaN(a); // true注意在运算的时候要注意避免得到NaN防止程序出现错误 2.2.5 零值 JavaScript 有一个常规的 0也叫作0和一个 -0。-0 除了可以用作常量以外也可以是某些数学运算的返回值。 const a 0 / -2; // -0 const b 0 * -2; // -0 // 但是规范定义的返回结果是这样 a.toString(); // 0 a ; // 0 String( a ); // 0 // 但是-0字符串翻过来就是对的 -0; // -0 Number( -0 ); // -0 JSON.parse( -0 ); // -0 // 0与-0比较都为true -0 0; // true -0 0; // true注意需要注意正负0的比较使用-0场景例如动画帧的移动速度等。 2.3 数字的方法 toSting以字符串返回数值toFixed返回字符串值它包含了指定位数小数的数字会四舍五入toPrecision: 返回字符串值它包含了指定长度的数字 const a 22; a.toString(); // 22 a.toFixed(3); // 22.000 const b 2.222; b.toPrecision(2); // 2.2 b.toPrecision(3); // 2.222.4 变量转换为数字 Number将变量转换为数字parseInt返回数字的整数部分parseFloat返回一个浮点数 Number(22.2); // 22.2 parseInt(22.2); // 22 parseFloat(22.2); // 22.2 Number(测试); // NaN parseInt(测试); // NaN parseFloat(测试); // NaN注意上述三个方法转换时如果转换失败会返回NaN开发中要注意避免。 三、实战示例 3.1 浮点数计算出现精度缺失 3.1.1 发现问题 在日常项目中会遇到小数之间的算术运算例如商品价格的计算、账户金额的统计涉及的小数时有时候会出现精度误差计算结果不准确导致客户反馈bug。 示例 console.log(0.1 0.2); // 0.300000000000000043.1.2 问题原因 我们在上面有介绍过在JS中所有数字都是以IEEE-754标准格式64位浮点数形式储存1与1.0是相同的。因为有些小数以二进制表示位数是无穷的。JavaScript会把超出53位之后的二进制舍弃。所以并不是JS中才会出现所有基于IEEE-754标准的浮点数计算都会有这样的问题。 3.1.3 解决方案 使用第三方类库 如果在项目中多处都需要使用浮点数计算这个时候就需要考虑引用第三方类库方法来进行小数点之间的计算。这里推荐第三方类库 Math.jsdecimal.jsbig.js 简易封装 如果只是单纯处理个别计算问题时可以使用下面简易封装的简易加法运算。核心思路就是计算小数点后最大有几位转换成10的指数幂进行计算最后还原。 /*** 精度相加*/ const addTogether (n1, n2) {let res1 n1.toString().split(.)[1]? n1.toString().split(.)[1].length: n1.toString().split(.)[0].length;let res2 n2.toString().split(.)[1]? n2.toString().split(.)[1].length: n2.toString().split(.)[0].length;let pow Math.max(res1, res2);let base Math.pow(10, pow);return (n1 * base n2 * base) / base; };3.2 计算出现NaN 3.2.1 发现问题 在项目中设计到表单输入时有时候会进行两个变量之间的计算有时候展示结果会出现NaN的情况。 3.2.2 问题原因 在进行算术运算时会将变量类型隐式转换为数字类型如果转换原类型不是字符串的数字时无法转换为数字就会返回NaN。 3.2.3 解决方案 涉及到表单问题时要设置输入框为number类型在计算之前需要提前转换为Number类型如果转换为NAN要及时报错或者根据业务需求兼容处理。 const num 测试; const curNum Number.isNaN(Number(num)) ? 0 : Number(num);
http://www.yutouwan.com/news/12911/

相关文章:

  • 湛江专业建站联系方式网架公司联系方式
  • 网站内搜索wordpress删除边栏
  • wordpress网站菜单固定免费标志在线设计
  • 青年文明号网站建设vs2013 手机网站开发
  • 做导购网站有哪些互联网推广品牌
  • 公司网站建设怎么选择主机大小海南景区网站建设方案
  • 站长工具成品源码必应搜索引擎地址
  • 深圳网站建设企wordpress 自定义模型
  • 怎么发布个人网站网站生成软件
  • 淄博网站设计制作wordpress 页脚广告
  • 杭州 企业门户网站建设哈尔滨seo优化公司多少钱
  • 花店网站建设方案局域网聊天工具排行
  • 军事新闻app哪个好图片优化软件
  • 北京住房与建设部网站工程师证怎么考取需要什么条件
  • 免费中英文网站源码品牌建设
  • 怎样到国外做合法网站法网站网页设计师的能力
  • 事业网站网站建设方案需要优化的网站有哪些
  • 可以先做网站后备案吗wordpress 循环两个交替
  • 做科技汽车的视频网站深圳品牌沙发
  • 中小企业网站的建设实践报告中国建设银行手机银行app下载
  • 厘米售卡站怎么做网站棋牌类网站开发
  • 建设教育局网站硬件价格需要多少钱?网站开发全栈教程
  • 网站设计要考虑的因素淘客网站建设
  • 织梦网站优化怎么做服务号微网站怎么做
  • 快照网站平台网站如何做推广方案
  • 广元单页网站制作潍坊网站建设壹品网络
  • wordpress建站产品导入不同目录网站备案信息代码
  • 深圳专业专业网站建设店铺设计方案
  • 设计的网站源代码怎么做沧州市青县建设局网站
  • 专业 网站设计公司价格小程序游戏开发平台