博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【笔记】jquery加减乘除及科学计算法处理
阅读量:5809 次
发布时间:2019-06-18

本文共 2034 字,大约阅读时间需要 6 分钟。

/** * 加法运算,避免数据相加小数点后产生多位数和计算精度损失。 * * @param num1加数1 | num2加数2 */function numAdd(num1, num2) { var baseNum, baseNum1, baseNum2; try {  baseNum1 = num1.toString().split(".")[1].length; } catch (e) {  baseNum1 = 0; } try {  baseNum2 = num2.toString().split(".")[1].length; } catch (e) {  baseNum2 = 0; } baseNum = Math.pow(10, Math.max(baseNum1, baseNum2)); return (num1 * baseNum + num2 * baseNum) / baseNum;};/** *减法运算,避免数据相减小数点后产生多位数和计算精度损失。 * * @param num1被减数  |  num2减数 */function numSub(num1, num2) { var baseNum, baseNum1, baseNum2; var precision;// 精度 try {  baseNum1 = num1.toString().split(".")[1].length; } catch (e) {  baseNum1 = 0; } try {  baseNum2 = num2.toString().split(".")[1].length; } catch (e) {  baseNum2 = 0; } baseNum = Math.pow(10, Math.max(baseNum1, baseNum2)); precision = (baseNum1 >= baseNum2) ? baseNum1 : baseNum2; return ((num1 * baseNum - num2 * baseNum) / baseNum).toFixed(precision);};/** * 乘法运算,避免数据相乘小数点后产生多位数和计算精度损失。 * * @param num1被乘数 | num2乘数 */function numMulti(num1, num2) { var baseNum = 0; try {  baseNum += num1.toString().split(".")[1].length; } catch (e) { } try {  baseNum += num2.toString().split(".")[1].length; } catch (e) { } return Number(num1.toString().replace(".", "")) * Number(num2.toString().replace(".", "")) / Math.pow(10, baseNum);};/** * 除法运算,避免数据相除小数点后产生多位数和计算精度损失。 * * @param num1被除数 | num2除数 */function numDiv(num1, num2) { var baseNum1 = 0, baseNum2 = 0; var baseNum3, baseNum4; try {  baseNum1 = num1.toString().split(".")[1].length; } catch (e) {  baseNum1 = 0; } try {  baseNum2 = num2.toString().split(".")[1].length; } catch (e) {  baseNum2 = 0; } with (Math) {  baseNum3 = Number(num1.toString().replace(".", ""));  baseNum4 = Number(num2.toString().replace(".", ""));  return (baseNum3 / baseNum4) * pow(10, baseNum2 - baseNum1); }};

  

//处理科学计算法function toNonExponential(num) {    var m = num.toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/);    return num.toFixed(Math.max(0, (m[1] || '').length - m[2]));}

  

转载于:https://www.cnblogs.com/mybug/p/9200835.html

你可能感兴趣的文章
数据更新| Qtum 量子链全球大使招募计划
查看>>
小程序初探之三-一个定位bug
查看>>
分布式锁的解决方案(二)
查看>>
如何写出一个好的单例模式
查看>>
Python urllib HTTP头注入漏洞
查看>>
类的设计-使可变性最小
查看>>
三、Android性能优化之常见的内存泄漏分析
查看>>
决战性能之巅 - Taro H5 转换与优化升级
查看>>
iOS逆向之旅(进阶篇) — 代码注入
查看>>
大数据的知识体系
查看>>
马云宣布传承计划,回归教育
查看>>
Python 比特币 教程 之一:创建机器人
查看>>
WinRAR存在严重的安全漏洞影响5亿用户
查看>>
JVM执行方法调用(一)- 重载与重写
查看>>
Mysql-InnoDB 锁学习
查看>>
破境Angular(二)Angular构件
查看>>
Python2+Selenium入门01-环境准备
查看>>
PAT A1066
查看>>
iOS | NSProxy
查看>>
phpStudy 升级 mysql5.7 出现的问题
查看>>