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

河北建设广州分公司网站本科自考和成考的区别

河北建设广州分公司网站,本科自考和成考的区别,石家庄展厅设计公司,wordpress栏目更改无法显示相信程序都会遇到这样的问题#xff0c;有时需要在js上做运算合计等浮点数加减乘除#xff0c;但会有些浮点数会有误差问题。下面用js来解决浮点数加减乘除运算误差丢失精度这个请 【收藏点赞】。 是程序都会在浮点数加减乘除上有误差问题#xff0c;这是计算机二进制生成的…相信程序都会遇到这样的问题有时需要在js上做运算合计等浮点数加减乘除但会有些浮点数会有误差问题。下面用js来解决浮点数加减乘除运算误差丢失精度这个请 【收藏点赞】。 是程序都会在浮点数加减乘除上有误差问题这是计算机二进制生成的问题。 于是封装一个类用于解决浮点数加减乘除误差问题大概的原理就是把小数放大为整数乘进行算术运算再缩小为小数除。 举例 var a 0.1; var b 0.2 cnosole.log(ab);// 0.1 0.2 0.30000000000000004 多了 0.00000000000004 // 0.2 0.4 0.6000000000000001 多了 0.0000000000001 // 19.9 * 100 1989.9999999999998 少了 0.0000000000002核心代码 let Number {/** 判断obj是否为一个整数*/isInteger: function(obj) {return Math.floor(obj) obj},/** 将一个浮点数转成整数返回整数和倍数。如 3.14 314倍数是 100* param floatNum {number} 小数* return {object}* {times:100, num: 314}*/toInteger: function(floatNum) {var ret {times: 1, num: 0}if (this.isInteger(floatNum)) {ret.num floatNumreturn ret}//负数处理var isFu false;if(floatNum0){floatNum -floatNum;isFu true}var strfi floatNum var dotPos strfi.indexOf(.)var len strfi.substr(dotPos1).lengthvar times Math.pow(10, len)var intNum parseInt(floatNum * times 0.5, 10)//负数处理if(isFu)intNum - intNum;ret.times timesret.num intNumreturn ret},/** 核心方法实现加减乘除运算确保不丢失精度* 思路把小数放大为整数乘进行算术运算再缩小为小数除** param a {number} 运算数1* param b {number} 运算数2* param digits {number} 精度保留的小数点数比如 2, 即保留为两位小数* param op {string} 运算类型有加减乘除add/subtract/multiply/divide**/operation: function(a, b, digits, op) {var o1 this.toInteger(a)var o2 this.toInteger(b)var n1 o1.numvar n2 o2.numvar t1 o1.timesvar t2 o2.timesvar max t1 t2 ? t1 : t2var result nullswitch (op) {case add:if (t1 t2) { // 两个小数位数相同result n1 n2} else if (t1 t2) { // o1 小数位 大于 o2result n1 n2 * (t1 / t2)} else { // o1 小数位 小于 o2result n1 * (t2 / t1) n2}return result / maxcase subtract:if (t1 t2) {result n1 - n2} else if (t1 t2) {result n1 - n2 * (t1 / t2)} else {result n1 * (t2 / t1) - n2}return result / maxcase multiply:result (n1 * n2) / (t1 * t2)return resultcase divide:result (n1 / n2) * (t2 / t1)return result}},// 加减乘除的四个接口add:function(a, b, digits) {return this.operation(a, b, digits, add)},subtract: function(a, b, digits) {return this.operation(a, b, digits, subtract)},multiply: function(a, b, digits) {return this.operation(a, b, digits, multiply)},divide: function(a, b, digits) {return this.operation(a, b, digits, divide)},}var a 0.1; var b 0.2; console.log(test:, ab);console.log(test22:, Number.add(a,b))效果
http://www.zqtcl.cn/news/315292/

相关文章:

  • 旅游网站对比模板免费招收手游代理
  • phpstudy网站建设教程wordpress破解管理员帐号
  • 商务网站规划与建设心得北京小程序制作首选华网天下
  • 果洛电子商务网站建设多少钱公司网站建设选什么服务器
  • 莱芜做网站公司网站建设表单教案
  • 建设酒类产品网站的好处遵义网站制作费用
  • 高端网站设计价格wordpress登录下载附件
  • 国内有名的网站设计公司wordpress缓存插件比拼
  • 网站的建设和推广直播营销策划方案范文
  • 做购物平台网站 民治百度导航地图下载
  • 东莞市主营网站建设服务机构青岛建站公司电话
  • 做网站技术wordpress漂亮手机网站模板下载
  • 网站怎么更新网页内容网络推广怎么找客户
  • 如何编写网站建设销售的心得适合装饰公司的名字
  • 有什么免费建网站网站pr查询
  • flash+xml网站模板简述网站制作的一般流程
  • 成都私人做网站建设怎么切页面做网站
  • 聊城做网站的公司论坛外链代发
  • 廊坊企业自助建站网站框架设计好后怎么做
  • 手机网站建设效果wordpress 目录改变
  • 做商城网站的项目背景图片c2750服务器做网站行吗
  • 北京市专业网站建设wordpress视频站
  • 知名网站制作公南充建设机械网站
  • 网站建设实践鉴定微商小程序制作
  • 盗用别人网站图做网站快速排名优化推广手机
  • 安徽网站建设服务平台wordpress自定义统计
  • 微网站开发方案模板建站宝盒哪个牌子好
  • 低价做网站网站制作天津
  • 成都网站推广外包门户网站素材
  • wordpress 拿站网站制作北京海淀