首页 > 其他分享 >怎么解决小数运算的精度问题?

怎么解决小数运算的精度问题?

时间:2023-03-23 18:36:22浏览次数:30  
标签:const num1 num2 toString split baseNum 小数 精度 运算

 

1.将数字转成整数

这是最容易想到的方法,也相对简单


function add(num1, num2) {
 const num1Digits = (num1.toString().split('.')[1] || '').length;
 const num2Digits = (num2.toString().split('.')[1] || '').length;
 const baseNum = Math.pow(10, Math.max(num1Digits, num2Digits));
 return (num1 * baseNum + num2 * baseNum) / baseNum;
}

 

标签:const,num1,num2,toString,split,baseNum,小数,精度,运算
From: https://www.cnblogs.com/ahalvxiaobu/p/17248444.html

相关文章

  • js 中使用 decimal.js 进行不丢失精度的小数计算
    npminstall decimal.jsimportDecimalfrom"decimal.js"//具体文件中引入//加leta=1letb=6//a与b可以是任何类型,Decimal内部会自己处理兼容//......
  • C++重载递增和递减运算符
    重载递增和递减运算符在迭代器类中通常会实现递增运算符(++)和递减运算符(--),这两种运算符使得类可以在元素的序列中前后移动。C++语言并不要求递增和递减运算符必须是类......
  • java之保留几位小数的几种方式及添加千位分隔符
    packagedecimal;importjava.math.BigDecimal;importjava.text.DecimalFormat;importjava.text.NumberFormat;/***java之保留几位小数的几种方式及添加千位分隔......
  • 【web 开发基础】PHP 快速入门(9)-PHP 运算符之位运算符详解
    前言PHP开发基础开速入门系列目录:《【web开发基础】php开发基础快速入门(1)-PHP介绍及开发环境快速安装和基本使用介绍》《【web开发基础】php开发基础快速入门(2)-......
  • 位运算知识点
    知识点:位运算与运算:两者都为真时返回true,否则返回falseC++中用 & 表示与运算或运算:两者有一者为真就返回true,都为假时返回falseC++中用 | 表示或运算非运......
  • P1570 KC 喝咖啡(小数二分)
    P1570KC喝咖啡题意:给定调料种数\(n\)和能加入的调料数\(m\),以及每种调料的美味度\(v_i\),消耗的时间\(c_i\)。请选择单位时间的美味度最大的咖啡。分析:\(t=\fra......
  • P1163 银行贷款(小数二分)
    P1163银行贷款分析变量命名如下:\(n\)表示贷款的原值,\(m\)表示每月支付的分期付款金额,\(k\)表示分期付款还清贷款所需的总月数。\(p\)表示贷款的月利率第......
  • Java运算符
    Java运算符Java运算符有:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符算术运算符A=10,B=20操作符描述例子+加法,运算符两侧的值相加......
  • 高精度算法-高精度加法
    为什么要用高精度因为有的题目的数据很大,超出longlong的范围,所以我们需要用高精度来计算:首先是高精度加法:高精度加法就是仿照我们竖式加法进行操作,逐位相加,注意进位!!!题......
  • 【web 开发基础】PHP 快速入门(8)-PHP 运算符之逻辑运算符详解
    前言PHP开发基础开速入门系列目录:《​【web开发基础】php开发基础快速入门(1)-PHP介绍及开发环境快速安装和基本使用介绍​》《​【web开发基础】php开发基础快速入......