js 加减乘除计算的问题

我今天需要做个自定义公式的功能,就是可以选择参数,可以自行选择 + _ * / ( )
这些基本运算符
我在做有效性判断的时候,发现 /+ /- 甚至 ///这样的居然js全都给我算出数字来了
如 2/+2+4/-5 结果为0.199999999
还有 2//////////2 结果是2

请问这些是如何计算出来的?我实在很不解...
我快下班了,我会在明天给出满意答案 谢谢大家了

javascript中的运算时存在问题的,下面以除法为例,仅供参考:
javascript中的除法问题:
计算一下:
8.80 * 100 * 12 / 100
结果:105.60000000000002
38.80也会出现类似的问题。
精确度增加10倍:
8.80 * 1000 * 12 / 1000
结果:105.6
正常了。
16.40 * 1000000 * 6 / 1000000
结果也有问题
为了让js执行的更准确,在以后的js小数计算中直接将值扩大10000倍,再除以10000,就可以解决问题。
var num = 38.80;
var num2 = 13;
alert(num * 10000 * 12 / 10000);
被乘和除的这个数经过测试10000最合适,小了有些数字出问题,大了(1000000)有些数字也出问题。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
转义字符只能转义比如“、‘、/这些属于特定的字符,并不能转义+ - * /
所以2/+2+4/-5 他会理解为2/(+2)+4/(-5) =0.2 至于0.1999999这个是显示的问题
2//////////2中 // 就表示注释,所以后面的////////2都被理解为注释,没有意义 因而结果为2本回答被提问者采纳

已解决 js浮点数(小数)加减乘除丢失精度问题
JavaScript中的Number数据类型包括整数和浮点数,它们以64位浮点数形式储存。依据IEEE 754标准,计算机进行计算时将数字转换为二进制执行运算,再转换回十进制。然而,运算过程中小数部分最多支持52位,导致运算精度问题。在加法操作中,这种误差尤为明显,影响结果准确性。为了克服这个问题,实现精确的加减乘除...

JS计算精度问题解决
产生浮点数计算精度不准确的原因:在计算机角度,计算机算的是二进制,而不是十进制。二进制后变成了无线不循环的数,而计算机可支持浮点数的小数部分可支持到52位,所有两者相加,在转换成十进制,得到的数就不准确了,加减乘除运算原理一样。通俗的解释:比如一个数1÷3=0.33333333...大家都知道3会...

javascript中是乘法加法是按顺序算还是先算乘法再算加法
JS中的四则运算(加减乘除)遵循数学中的四则运算规则,即先乘、除后加、减,如果一个算术表达式中有多个乘法或除法,则先计算前面的。

前端中涉及金钱计算引发的精度问题
这里就有金钱和难度系数的计算,都是要进行加减乘除的,所以在开发过程中,我们是无法避免的。产生问题的原因这是因为JS中两个数字相加时是以二进制形式进行的,当十进制小数的二进制表示的有限数字超过52位时,在JS里是不能精确储存的,这个时候就存在舍入误差。下面就跟大家介绍三种方法,最后一种是最...

js 输入两个操作数 加减乘除 通过点击等号 在第三个文本框中返回值_百...
function $(v){return document.getElementById(v);}function he(){var a,b,ca=$("a").value;b=$("b").value;if(isNaN(a)||isNaN(b)){alert("输入的必须是数字!");return false;}c=Number(a)+Number(b);$("c").value=c;}第一个数:第二个数:...

js简易计算器,我删掉后面有注释的那3行就没问题,留下就报错Maximum call...
result = "只能计算加减乘除"; \/\/删掉 } \/\/删掉 document.getElementById("jieguo").value = result; } 请输入第一个数字 请输入连接两个字的运算符(仅限+-*\/) 请输入第二字 为计算的结果 展开  我来答 分享 微信扫一扫 新浪微博 QQ空间 举报 浏览33 次 可选中1个或多个下面...

js 运算符-算术运算符
2.4 指数运算符(**)用于执行指数运算,前操作数为底数,后操作数为指数。3. 赋值运算符(=)用于给变量赋值,而结合其他运算符(如加减乘除等),可以形成复合赋值运算符,先进行运算再赋值给变量。总结:JavaScript 提供了丰富的算术运算符,能够灵活进行数值计算,从基本的加减乘除到复杂的指数运算...

JS操作符
JS中的运算符是编程中不可或缺的工具,它们用于执行各种数学运算、变量操作和逻辑判断。这些运算符包括但不限于算术运算、递增\/递减、比较、逻辑、双位、赋值等。1. 算术运算符:用于执行基本的算术操作,如加减乘除。需要注意浮点数的精度问题。例如,前置递增运算符如++n在执行前会先增加n的值,如`...

3,7,8,9用加减乘除怎样能得出24
(9+7-8)*3=24当然还有个作弊的通解,不过这个用了导数和阶乘,不符合只用加减乘除的要求

【JavaScript】关于解决JS计算精度问题(toFixed,Math.round,运算表达式...
这个问题是在是无从下手,因为涉及到了加减乘除,无法用字符串再进行操作,找了一圈,还是选择用mathjs来解决(内心OS:真不想用,用了它还得去解决打包依赖的问题,Vite我还不是很熟),具体操作如下:import?*?as?math?from?'mathjs';?\/\/?这里需要注意,新版的mathjs修改了import的方式const?{?

相似回答