因为经常需要js来处理显示,就做下笔记

除法:

  1. function accDiv(arg1, arg2) {
  2. var t1 = 0,
  3. t2 = 0,
  4. r1, r2;
  5. try {
  6. t1 = arg1.toString().split(".")[1].length
  7. } catch (e) {}
  8. try {
  9. t2 = arg2.toString().split(".")[1].length
  10. } catch (e) {}
  11. with(Math) {
  12. r1 = Number(arg1.toString().replace(".", ""))
  13. r2 = Number(arg2.toString().replace(".", ""))
  14. return (r1 / r2) * pow(10, t2 - t1);
  15. }
  16. }

乘法:

  1. function accMul(arg1, arg2) {
  2. var m = 0,
  3. s1 = arg1.toString(),
  4. s2 = arg2.toString(),
  5. number,
  6. z = '';
  7. try {
  8. m += s1.split(".")[1].length
  9. } catch (e) {
  10. console.log(e);
  11. }
  12. try {
  13. m += s2.split(".")[1].length
  14. } catch (e) {
  15. console.log(e);
  16. }
  17. console.log(`m = ${m}`)
  18. number = Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
  19. if (m) {
  20. try {
  21. var n = m - number.toString().split(".")[1].length;
  22. if (n) {
  23. for (var i = 0; i < n; i++) {
  24. z += '0';
  25. }
  26. }
  27.  
  28. var r = number.toString() + z;
  29. return r
  30.  
  31. } catch (e) {
  32. for (var i = 0; i < m; i++) {
  33. z += '0';
  34. }
  35. var r = number.toString() + '.' + z;
  36. return r
  37. }
  38. }
  39. return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
  40. }

加法:

  1. function accAdd(arg1, arg2) {
  2. var r1, r2, m;
  3. try {
  4. r1 = arg1.toString().split(".")[1].length
  5. } catch (e) {
  6. r1 = 0
  7. }
  8. try {
  9. r2 = arg2.toString().split(".")[1].length
  10. } catch (e) {
  11. r2 = 0
  12. }
  13. m = Math.pow(10, Math.max(r1, r2))
  14. return (arg1 * m + arg2 * m) / m
  15. }

js 乘除法小数问题的更多相关文章

  1. js中取小数整数部分函数;取小数部分

    1.丢弃小数部分,保留整数部分 parseInt(23.56); 结果:23 2.向上取整,有小数就整数部分加1 Math.ceil(23.56) 结果:24 3,四舍五入. Math.round(2 ...

  2. JavaScript进阶(五)js中取小数整数部分函数

    js中取小数整数部分函数 丢弃小数部分,保留整数部分 js:parseInt(7/2) 向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 四舍五入 js: Math.round(7 ...

  3. MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果

    图像乘除法运算涉及到immultiply.imdivide函数,实现代码如下: 1.图像之间的乘法运算 close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear ...

  4. js中对小数取整

    js中对小数取整的函数,需要的朋友可以参考下.   1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍 ...

  5. 在 React Native 中使用 moment.js 無法載入語系檔案

    moment.js 是很常見的日期時間 library,友善的 API 與極佳的執行效率是它的兩大賣點.例如 (new Date()).getFullYear(),如果使用 moment.js 我可以 ...

  6. js浮点乘除法运算不精确bug

    //除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显.这个函数返回较为 精确的除法结果. //调用:accDiv(arg1,arg2 ...

  7. JS中保留小数位数

    一.1.2.toFixed(2)

  8. JS中对小数取整的函数,向上(下),四舍五入取整

    1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4, ...

  9. js 乘除算法 浮点 精度解决办法

    js中进行浮点数运算时容易出现精度问题 1) 除法函数 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显.这个函数返回较为精确的除法结果. //调用:accDiv(a ...

随机推荐

  1. myeclipise生成javadoc

    1.点击项目,右键,选择export: 点击next: 点击next:VM options中输入-encoding UTF-8 -charset UTF-8

  2. 用document.readyState实现网页加载进度条

    概述 之前以为给网页设置加载进度条很麻烦,今天一学真是超级简单,记录下来供以后开发时参考,相信对其他人也有用. readyState 主要运用了document.readyState和nprogres ...

  3. 机器学习技法笔记:16 Finale

    Roadmap Feature Exploitation Techniques Error Optimization Techniques Overfitting Elimination Techni ...

  4. [转]idea导入eclipse的web项目

    https://www.cnblogs.com/xiaoBlog2016/archive/2017/05/08/6825014.html 一.导入自己的web项目 步骤:File->New-&g ...

  5. 7.28-说说对javaweb的感想吧

    接触了几个月的java,和javaweb. 感想1:发现生活顿时充实了很多,时间照样在过,日落日出,但是手里面有学的,有可以让自己开心地码出理想的效果,这是很不错的结局. 发现自己再也不回去和伙伴们撸 ...

  6. python-拷贝

    1.普通的赋值操作 def print_id(array): ids = [] for ar in array: ids.append(id(ar)) print (array, ids) a = [ ...

  7. vue-04-组件

    1, 介绍 vue最强大的功能, 可以扩展html元素, 封装可充用的代码 在较高的层面, 组件是自定义元素, vue的编译器为他添加特殊功能, 在有些情况下, 组件也可以表现为用 ls 特性进行扩展 ...

  8. PHP常用的正则表达式(有些需要调整)

    平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: "^\d+$" //非负整数(正整数 + 0) 顺平注: 验证输入id数值,不能为0 $reg1='/ ...

  9. Hibernate学习(四)———— 双向多对多映射关系

    一.小疑问的解答 问题一:到这里,有很多学习者会感到困惑,因为他不知道使用hibernate是不是需要自己去创建表,还是hibernate全自动,如果需要自己创建表,那么主外键这种设置也是自己设置吗? ...

  10. 大数据技术之_08_Hive学习_04_压缩和存储(Hive高级)+ 企业级调优(Hive优化)

    第8章 压缩和存储(Hive高级)8.1 Hadoop源码编译支持Snappy压缩8.1.1 资源准备8.1.2 jar包安装8.1.3 编译源码8.2 Hadoop压缩配置8.2.1 MR支持的压缩 ...