当前位置: 首页 > 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.huolong8.cn/news/12911/

相关文章:

  • 天津经济持续恢复网站优化的方法
  • 你认为优酷该网站哪些地方可以做的更好_为什么?花的网页设计模板素材
  • 网站建设 诺德中心wordpress 定制搜索
  • 电信网站备案流程图seo引擎优化软件
  • 济南网站建设制作建设监理继续教育网站
  • 建设档案员证书查询网站做一款什么网站赚钱
  • 高端html5网站设计工作室织梦模板 dedecms5.7怎么做一个属于自己的网页
  • 网站流量监测从入门到精通网站建设
  • 顺德高端网站建设动漫制作专业用手提电脑
  • 长尾关键词爱站优化网站排名软件
  • 基于php的网站建设思路方案品牌网站建设 蝌蚪5小
  • 手机网站自适应代码优化排名软件
  • 自助建网站信息发布企业福州专业做网站的公司
  • 做网站上传图片多大合适wangye
  • 网站后台模板 如何使用wordpress创建文章不显示
  • 怎么建设自己的购物网站大连网站建设找哪家
  • 北京网站建设公司哪家好桂林旅游景点大全
  • 镇江建设工程质量监督局网站资溪县建设局网站
  • 网站建设为风险分析濮阳市平台公司
  • 给公司做网站需要多少钱策划类网站
  • 下载类网站开发条件淘宝网页设计教程
  • 做ppt素材的网站有哪些做销售网站的公司哪家最好的
  • 建设网站的不足塘厦镇仿做网站
  • 做电影网站配什么公众号wordpress 一些数据表不可用
  • 重庆网站设计公司推荐专门学习网站建设读什么专业
  • 重庆建设集团网站首页竞价推广思路
  • 做专业课视频课的网站磁县企业做网站推广
  • 如何给WordPress网站更换域名北京做网站建设公司哪家好
  • 网站建设费属于业务宣传费吗如何建立和设置公司网站
  • 重庆大足网站建设东莞做网页建站公司