1.简单的数学运算

// 加法
const accAdd = (arg1, arg2) => {var r1, r2, m;try {r1 = arg1.toString().split(".")[1].length;}catch (e) {r1 = 0;}try {r2 = arg2.toString().split(".")[1].length;}catch (e) {r2 = 0;}m = Math.pow(10, Math.max(r1, r2));return (arg1 * m + arg2 * m) / m;
}
// 减法
const subtr = (arg1, arg2) => {var r1, r2, m, n;try {r1 = arg1.toString().split(".")[1].length;}catch (e) {r1 = 0;}try {r2 = arg2.toString().split(".")[1].length;}catch (e) {r2 = 0;}m = Math.pow(10, Math.max(r1, r2));//last modify by deeka//动态控制精度长度n = (r1 >= r2) ? r1 : r2;return ((arg1 * m - arg2 * m) / m).toFixed(n);
};
// 乘法获取准确值
const accMul = (arg1,arg2) => {var m=0,s1=arg1.toString(),s2=arg2.toString();try{m+=s1.split(".")[1].length}catch(e){}try{m+=s2.split(".")[1].length}catch(e){}return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
};
// 除法获取精确值
const accDiv = (arg1, arg2) => {var t1 = 0, t2 = 0, r1, r2;try { t1 = arg1.toString().split(".")[1].length } catch (e) { }try { t2 = arg2.toString().split(".")[1].length } catch (e) { }Math.r1 = Number(arg1.toString().replace(".", ""))Math.r2 = Number(arg2.toString().replace(".", ""))return (Math.r1 / Math.r2) * Math.pow(10, t2 - t1);
}
export { accAdd, subtr, accMul, accDiv }

2.一些比较复杂的金额运算,小数点保留方法

// 处理金额截取保留2位小数,不足用0补returnamtstr(value, sgint) {if (value) {let valuestr = value.toString();if (valuestr.indexOf(".") != -1) {valuestr = valuestr.substring(0, valuestr.indexOf(".") + sgint);let xsd = valuestr.split(".");if (xsd.length > 1) {if (xsd[1].length < 2) {valuestr = valuestr + "0";}return valuestr;}} else {if (valuestr != "0") {valuestr = valuestr + ".00";return valuestr;}}}},

js进行数学运算,加法,减法,乘法,除法相关推荐

  1. java BigDecimal加法/减法/乘法/除法 保留两位小数

    1.BigDecimal类概述及其构造方法 由于在运算的时候,float类型和double类型很容易丢失进度,所以,为了能够精确的表示.计算浮点数,java提供了BigDecimal类   BigDe ...

  2. pytorch基本数学运算:加法 减法 乘法 除法 指数 对数 绝对值

    加法 import torch import numpy as npprint('# 加法') a = torch.Tensor(np.arange(6).reshape(2, 3)) b = tor ...

  3. js解析数学运算公式

    js解析数学运算公式 已上传到npm,NPM包地址:https://www.npmjs.com/package/exec-mathexpress 示例demo //运行democonst execMa ...

  4. c语言加法减法乘法,一元多项式的加法减法乘法c语言描述线性表应用

    一元多项式的加法减法乘法 --(c语言描述)线性表应用 来源:永远的北邮人 vc6.0下调试通过 #include #include #include #include #include #inclu ...

  5. JS基础——数学运算

    文章目录 JS中的数学运算 模板字符串 布尔类型 !的用法 !=:不等于 !取反:把!后的字符转化为布尔类型,然后再取反. !!在一个布尔类型的基础上取反再取反,相当于转化为布尔类型. null和un ...

  6. java实现一元多项式减法_一元多项式 加法 减法 乘法

    1 #include 2 #include 3 //系数 coefficient,coef4 //指数 exponent, expon 5 typedef struct polyNode*polyno ...

  7. 矩阵加法减法乘法计算

    矩阵 最近在做重写帧同步矩阵相关运算的时候突然发现自己矩阵乘法运算怎么做了,这里参考别人文档写一篇让自己巩固下矩阵算法.(文章中括号就不画了,用 [ ] 代替了) 矩阵加法 计算公式如下 /// [ ...

  8. 移位运算为什么比乘法除法快

    从效率上看,使用移位指令有更高的效率,因为移位指令占2个机器周期,而乘除法指令占4个机器周期.从硬件上看,移位对硬件更容易实现,所以会用移位,移一位就乘2,这种乘法当然考虑移位了. 两个64位的数按位 ...

  9. Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制

    Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...

最新文章

  1. powerdesigner 同步mysql 报错_PowerDesigner技巧小结
  2. 简单检测CDN链接是否有效
  3. sharepoint 场帐号修改密码
  4. 史上最详细阿里云服务器上Docker部署War包项目 实战每一步都带详细图解!!!
  5. ie浏览器修复_[图]三大Windows 10获得累积更新 修复IE和无法运行Access 95数据库问题...
  6. js滚动条滚动到指定元素
  7. 那些把天聊死的神操作。。| 今日最佳
  8. phpcmsV9 如何开启wap手机站点
  9. Oracle ROLLUP和CUBE 用法
  10. C++ const总结
  11. IDEA 不识别的MAVEN 项目应如何处理
  12. EPLAN P8.2.7 学习版安装教程(适用于 Win10 64位)
  13. Structs框架原理
  14. 46岁微软:从盖茨缔造帝国到纳德拉复兴
  15. 求解一元三次方程的方法
  16. 为什么任何数的0次方都是1
  17. ANSYS APDL学习(3):ANSYS APDL 导入x_t格式模型并受力分析范例
  18. 使用完整拼音查找汉字(完整拼音,不是网上散布的首字符拼音那种方法)
  19. 时间序列-异常检测(Anomaly Detection)(二):传统方法
  20. 服务器系统会提示有神兽刷新吗,我的世界神奇宝贝服务器里刷新神兽提示是那些...

热门文章

  1. 手机更新显示itunes store无法连接服务器,iPhone无法连接App Store、iTunes Store?解决方法有哪些?...
  2. 准备情人节礼物比写代码难?来看看IT直男给女友们的礼物
  3. SpringCloud-25-Gateway:动态路由、过滤器使用
  4. Elasticsearch实现类百度搜索引擎搜索功能ES5.5.0v
  5. Sicily2000——Toy Shopping
  6. 一款逼疯妹子的撩妹神器
  7. 别被吉利的“车企”一面晃了眼
  8. 用SAPI做一个聊天模拟器
  9. 分析这家薄利多销的酸菜鱼面,看它的经营之道
  10. python数据分析流程