js 精确计算(加减乘除)

news/2024/10/20 14:25:41/

js 精确计算(加减乘除)

  • 工具类CalcUtil.js
class CalcUtil {// 两数相加calcAdd(num1, num2) {var r1, r2, m;try {r1 = num1.toString().split('.')[1].length;} catch (e) {r1 = 0;}try {r2 = num2.toString().split('.')[1].length;} catch (e) {r2 = 0;}m = Math.pow(10, Math.max(r1, r2));return (num1 * m + num2 * m) / m;}// 两数相减calcSub(num1, num2) {var r1, r2, m, n;try {r1 = num1.toString().split('.')[1].length;} catch (e) {r1 = 0;}try {r2 = num2.toString().split('.')[1].length;} catch (e) {r2 = 0;}m = Math.pow(10, Math.max(r1, r2));n = r1 >= r2 ? r1 : r2;return ((num1 * m - num2 * m) / m).toFixed(n);}// 两数相乘calcMult(num1, num2) {var m = 0,s1 = num1.toString(),s2 = num2.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);}// 两数相除calcDiv(num1, num2) {var t1 = 0,t2 = 0,r1,r2;try {t1 = num1.toString().split('.')[1].length;} catch (e) {}try {t2 = num2.toString().split('.')[1].length;} catch (e) {}r1 = Number(num1.toString().replace('.', ''));r2 = Number(num2.toString().replace('.', ''));return (r1 / r2) * Math.pow(10, t2 - t1);}
}export default new CalcUtil();

http://www.ppmy.cn/news/1540536.html

相关文章

使用 Docker 升级 MySQL 的优化步骤与说明

在升级 MySQL 之前,进行系统化的准备和实施能够显著降低数据丢失的风险,并确保顺利过渡。以下是优化后的详细步骤及分析。 一、备份原数据库所有数据 重要性分析 在任何数据库操作中,备份都是最重要的一步。确保备份包含所有数据库、表及其…

Mysql(2)—SQL语法详解(通俗易懂)

一、关于SQL 1.1 简介 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它主要用于数据的查询、插入、更新和删除等操作。SQL最初在1970年代由IBM的研究人员开发,旨在处理关系数据模型…

ElementPlus-Table表格-单选--TypeScript进阶篇

今天看个例子&#xff0c;这个例子是ElementPlus的组件Table表格下面的单选 <template> <el-table ref"singleTableRef" :data"tableData" highlight-current-row style"width: 100%" current-change"hand…

java-collection集合整理0.9.4

java-集合整理0.9.0 基本结构基本概念实例化举例遍历获取指定值 2024年10月17日09:43:16–0.9.0 2024年10月18日11:00:59—0.9.4 基本结构 Collection 是最顶级的接口。分为 List 和 Set 两大类。List 分为&#xff1a;ArrayList、LinkedList、Vector。Set 分为&#xff1a;Ha…

OpenCV高级图形用户界面(13)选择图像中的一个矩形区域的函数selectROI()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 允许用户在给定的图像上选择一个感兴趣区域&#xff08;ROI&#xff09;。 该功能创建一个窗口&#xff0c;并允许用户使用鼠标来选择一个 ROI。…

Java创建对象的两种方法

Java创建对象的两种方法是使用new关键字和使用反射机制。 使用new关键字&#xff1a;可以通过调用类的构造方法来创建对象。在Java中&#xff0c;通过使用new关键字后跟类的构造方法的调用来创建对象。 Person person1 new Person(); // 调用无参构造方法创建对象Person pe…

c语言经典100例

1.字符串转为数字 #include <stdio.h>int strToInt(char *s) {int num0;int sign1;int step1;if (*s -){sign -1;s;}while (*s > 0&&*s < 9){num num*10(*s-0);step 10;s;}return num*sign; }int main() {char a[10] "-1234";char *s a ;pr…

PHP 正则验证A-Z且排除某字母

都已经找到这里来了&#xff0c;相信已经尝试很多办法了&#xff0c;那么我们直接上答案 关键正则&#xff1a;(?!.*[IO]) //验证5到6个大写字母且排除I和O if (preg_match(/^(?!.*[IO])[A-Z\d]{5,6}$/u, AAAAM)) {echo "匹配成功"; } else {echo "匹配失败…