美文网首页让前端飞
JS 加、减、乘、除运算避免浮点数

JS 加、减、乘、除运算避免浮点数

作者: Sven0706 | 来源:发表于2018-12-30 11:05 被阅读6次

加法运算

const accAdd = (arg1,arg2) => {
  let 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 accSub= (arg1,arg2) => {
  let 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));
  n=(r1>=r2)?r1:r2;
  return ((arg1*m-arg2*m)/m).toFixed(n);
}

乘法运算

const accMul= (arg1,arg2) => {
  let 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) => {
  let t1=0,t2=0,r1,r2;
  try{t1=arg1.toString().split(".")[1].length}catch(e){}
  try{t2=arg2.toString().split(".")[1].length}catch(e){}
  r1=Number(arg1.toString().replace(".",""))
  r2=Number(arg2.toString().replace(".",""))
  return (r1/r2)*Math.pow(10,t2-t1);
}

相关文章

  • JS 加、减、乘、除运算避免浮点数

    加法运算 减法运算 乘法运算 除法运算

  • 运算符

    1、数字运算符 +加- 减 * 乘/ 除 ----结果是浮点数// 商 ----- 整数% 求...

  • 03-运算

    运算 算术运算 加 +减 -乘 *除 /取整运算 //...

  • 六年级上册计算类型总结

    (一)分数混合运算 1.乘除混合 连乘、连除、乘除、除乘(易错)。 2.乘除与加减混合 乘加、乘减、除加、除减、乘...

  • Python:运算符

    Python运算符包含: + 加。 - 减。 * 乘。 / 除。 ...

  • 3-运算符

    1.算术运算符: 加 : + 减 : - 乘 : * 除 :...

  • Python基础语法 -运算符

    二、 Python运算符 算数运算 +、 -、 *、 / + 加 - 减 *乘 / 除 % 取余 赋值运算 ...

  • 第二章 先做键盘侠 总结

    一、python的运算 1.数值运算 即加、减、乘、除、乘方、余数的运算 原则一:①加用+ ② 减用- ...

  • 《第一单元》教学反思

    本单元是在学生学习了加、减、乘、除法的基础上进行的。主要包括乘加、乘减、除加,除减和带有小括号的混合运算以四则...

  • Swift - Operators

    赋值运算符 算术运算符 { + - * / } - { 加、减、乘、除 } “+” 支持 String 的连接 ...

网友评论

    本文标题:JS 加、减、乘、除运算避免浮点数

    本文链接:https://www.haomeiwen.com/subject/mifvlqtx.html