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

江苏企业建站上海网站改版服务

江苏企业建站,上海网站改版服务,做任务的正规网站,网站建设状态栏方法一#xff1a; 保留字符串类型#xff0c;传给后端 方法二#xff1a; 如果涉及到计算#xff0c;用以下方法 // 核心思想 在计算前#xff0c;将数字乘以相同倍数#xff0c;让他没有小数位#xff0c;然后再进行计算#xff0c;然后再除以相同的倍数#xff0…方法一 保留字符串类型传给后端 方法二 如果涉及到计算用以下方法 // 核心思想 在计算前将数字乘以相同倍数让他没有小数位然后再进行计算然后再除以相同的倍数恢复原来的小数位 function add(a, b) {const precisionA getPrecisionA(a)const precisionB getPrecisionB(b)var multiplier Math.pow(10, Math.max(precisionA, precisionB))return (a * multiplier b * multiplier) / multiplier }function getPrecisionA() {if (num.toString().indexOf(e) ! -1) {var precision num.toString().split(e-)[1]return parseInt(precision, 10)}var decimalPart num.toString().split(.)[1]return decimalPart ? decimalPart.length : 0 }以下是完整函数 /*** 把递归操作扁平迭代化* param {number[]} arr 要操作的数字数组* param {function} operation 迭代操作* private*/ function iteratorOperation(arr,operation){ const [num1,num2,...others]arr; let resoperation(num1,num2) other.forEach((num){ resoperation(res,num) }) return res }/*** 返回小数部分的长度* private* param {*number} num Input number*/function digitLength(num){// 指数部分通常是用字母 e 或 E 后跟一个整数表示const eSplitnum.toString().spilt(/[eE]/);const len(eSplit[0].split(.)[1] || ).length - (eSplit[1] || 0);return len0?len:0; }/*** 把小数转成整数,如果是小数则放大成整数* private* param {*number} num 输入数*/ function float2Fixed(num){ if(num.toString().indexOf(e)-1){ return Number(num.toString().replace(.,)) } const dLen digitLength(num);return dLen 0 ? strip(Number(num) * Math.pow(10, dLen)) : Number(num); }/*** 把错误的数据转正* private* example strip(0.09999999999999998)0.1*/function strip(num,precision15){// toPrecision将数字转换为具有指定有效数字位数的字符串表示形式// parseFloat 将字符串转为浮点数return parseFloat(Number(num).toPrecision(precision));}/*** 高精度乘法*/function times(...nums){if (nums.length 2) {return iteratorOperation(nums, times);}const [num1, num2] nums;const num1Changed float2Fixed(num1);const num2Changed float2Fixed(num2);const baseNum digitLength(num1) digitLength(num2);const leftValuenum1Changed * num2Changed// 并返回底数的指数次幂return leftValue/ Math.pow(10, baseNum);}/*** 高精度加法*/function plus(...nums){ if(nums.length2){ return iteratorOperation(nums, plus) } const [num1,num2]nums // 取最大的小数位 // Math.pow 函数计算以 10 为底、指数为两个数字小数部分长度的最大值的幂次方 const baseNumMath.pow(10,Math.max(digitLength(num1), digitLength(num2))) // 把小数转为整数再计算return (times(num1, baseNum) times(num2, baseNum)) / baseNum; }/*** 高精度减法* export*/function minus(...nums) {if (nums.length 2) {return iteratorOperation(nums, minus);}const [num1, num2] nums;const baseNum Math.pow(10, Math.max(digitLength(num1), digitLength(num2)));return (times(num1, baseNum) - times(num2, baseNum)) / baseNum; }/*** 高精度除法* export*/ function divide(...nums) {if (nums.length 2) {return iteratorOperation(nums, divide);}const [num1, num2] nums;const num1Changed float2Fixed(num1);const num2Changed float2Fixed(num2);checkBoundary(num1Changed);checkBoundary(num2Changed);// 重要这里必须用strip进行修正return times(num1Changed / num2Changed, strip(Math.pow(10, digitLength(num2) - digitLength(num1)))); }
http://www.hkea.cn/news/14475978/

相关文章:

  • 怎么创建收费网站网络推广软件全邀zjkwlgs
  • 西餐厅网站模板域名注册,网站建设,好做吗
  • 网站的建设需要考虑什么问题做网站和软件的团队
  • 做英文网站 赚美元上海建设工程安全质量监督站网站
  • 网站的备案号在哪荆门哪里有专门做企业网站的
  • 网站常用参数洛阳网站搭建
  • dwcc2017怎么做网站手机网站的引导页
  • 东莞广告网站建设怀仁网站建设
  • 国外网站代做asp.net网站开发之美
  • 盐城建设银行招聘网站建分类网站得花多少钱
  • 网站建站网站开发广州白云区房价
  • 加强网站建设工作医院门户网站模板下载
  • 广西建设银行行号查询网站网络营销推广方式步骤
  • 在百度上做公司做网站杂志社网站建设方案
  • 网站建设开发计划模板南京市雨花区建设局网站
  • 做外贸业务去哪些网站php 除了做网站
  • 网站建设xm37关于做网站的策划方案
  • 怎么做网站步骤免费的wordpress 插件 浮动小人
  • 如何用python做一个网站wordpress搜插件错误
  • 建设部网站统计深圳网站设计公司如何
  • 做旅游的网站在哪里做深圳网页设计培训要多久
  • 境外企业网站推广北京商场需要几天核酸
  • 网站后台添加投票系统不良网站正能量进入窗口
  • 网站建设分金手指排名十商城网站模板库
  • 阿里云网站 模板建设wordpress 文章的形式
  • 网站论坛建设方案网站建制作
  • 介绍好的免费网站模板下载短视频网站开发
  • 微网站 建设广西建设教育协会网站
  • 网站建设土豆视频教程徐州网站制作案例
  • app下载安装官方网站成都市区必去的景点