`
itabclichao
  • 浏览: 658 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

js,数字运算不准确

阅读更多
function accMul(arg1,arg2)  
{  
    var 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)  
}  
 
function accDiv(arg1,arg2){  
    var t1=0,t2=0,r1,r2;  
    try{t1=arg1.toString().split(".")[1].length}catch(e){}  
    try{t2=arg2.toString().split(".")[1].length}catch(e){}  
    with(Math){  
    r1=Number(arg1.toString().replace(".",""))  
    r2=Number(arg2.toString().replace(".",""))  
    return (r1/r2)*pow(10,t2-t1);  
    }  
}  
 
function accAdd(arg1,arg2){     
   var 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     
}        
function accSub(arg1,arg2){     
   var 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     
}    
分享到:
评论

相关推荐

    JS浮点数字操作插件floatOPS.js

    "JS浮点数字操作插件floatOPS.js"就是为了解决这个问题而设计的,它提供了四个专门的方法,即加法(add),减法(sub),乘法(mul)和除法(div),旨在确保浮点数运算的精度。 首先,我们来了解一下JavaScript中的浮点数...

    js算法精度失真问题的解决方案

    当涉及到浮点数运算时,由于浮点数在计算机内部的二进制表示可能不完全精确,因此可能导致计算结果与预期不符。例如: ```javascript console.log(0.1 + 0.2); // 输出 0.30000000000000004 ``` 这种现象虽然不是...

    JavaScript小数点精确计算

    由于JavaScript内部使用的是IEEE 754标准来存储和处理浮点数,这可能导致在进行小数运算时出现精度丢失问题,尤其是在涉及大数字或者循环计算时。本篇将深入探讨这个问题,并提供一些解决方案。 首先,我们来理解...

    JavaScript判断数字

    在JavaScript中,处理数字是非常常见的任务,比如验证用户输入是否为数字、进行数学运算或者比较等。本篇将深入探讨JavaScript如何判断一个值是否为数字,并分享一个实用的小程序。 在JavaScript中,可以使用多种...

    JS 能表示的最大数值及JS Number类型数字位数及IEEE754标准1

    对于浮点运算的准确度,IEEE 754标准并没有要求所有运算都得到精确结果,因为固定长度的浮点格式无法精确表示所有可能的结果。例如,当我们有三位精度的十进制数3.51和0.234相加,它们的精确和3.744超出了三位精度,...

    js小数运算出现多位小数如何解决

    总结来说,在JavaScript中处理小数运算时,要注意浮点数运算的精度问题,通过多种方法确保计算的准确性。其中,toFixed()方法虽然简单,但可能不够精确;转换成整数进行计算则可以确保精度,但可能会影响性能;...

    js中Number数字数值运算后值不对的解决方法

    在JavaScript中,对Number类型的数值进行运算时,可能会遇到由于浮点数表示和精度限制导致的运算结果不准确的问题。这种问题在涉及小数运算时尤为常见。本文将探讨这种现象产生的原因,并给出一些常用的解决方法。 ...

    小学加减乘除运算测试

    《小学加减乘除运算测试》是一个基于JavaScript开发的在线教育工具,主要针对小学生进行数学基础知识的练习,尤其是加减乘除的运算。这个应用程序旨在通过互动的方式帮助孩子们巩固数学运算技能,提升学习兴趣。 ...

    js数字输入器

    在IT行业中,JavaScript是一种广泛使用的前端编程语言,用于创建交互式的网页应用。在这个场景中,我们讨论的是一个名...这个功能提高了用户体验,特别是在输入数字密集的场景下,使得用户能够更准确地输入和管理数字。

    js中浮点型运算BUG的解决方法说明.docx

    除了上述函数,还有一些其他策略可以考虑,比如使用固定精度的数字库(如`decimal.js`),这种库可以提供更高精度的浮点数运算。此外,可以考虑将浮点数转换为字符串,进行特定的字符串操作后再转换回数字,以减少...

    解决JS浮点数(小数)计算加减乘除的BUG

    2. **使用库**:有些库如`decimal.js`或`big.js`专门用于处理高精度浮点数计算,它们可以避免JavaScript内置的浮点数精度问题。 3. **整数运算**:对于涉及金钱计算等需要精确结果的场景,可以考虑将数值转换为整数...

    JavaScript中的数学运算介绍.docx

    检查一个值是否为NaN通常使用isNaN()函数,但这并不完全准确,因为isNaN()在四种情况下返回true:值本身就是NaN,字符串不能转换为数字,对象,或者undefined。另一个有用的全局函数isFinite()可以判断一个值是否为...

    double.js:javascript中的double-double运算。 具有31个精确十进制数字的浮点扩展

    具有31个准确的十进制数字(106位)的浮点展开,也称为双精度双精度算术或模拟float128。 该库对于扩展精度的快速计算很有用。 例如,在轨道力学,计算几何和数值不稳定算法中,例如执行三角剖分,多边形修剪,求逆...

    javascript 日期数字文本格式化

    在数字格式化方面,JavaScript原生并不提供强大的工具,比如将数字格式化为货币、百分比或者带有固定小数位数的格式。这时,我们可能需要借助一些开源库。例如,`BigDecimal.js`是一个用于高精度浮点数运算的库,...

    解决javascript中的浮点数计算不精确问题

    5. **使用BigDecimal类**:在某些高级应用中,可以考虑使用类似Java的`BigDecimal`类,它提供了高精度的浮点数运算,但JavaScript原生并不支持,可能需要引入第三方库。 理解JavaScript浮点数计算的局限性并采用...

    js实现文本框支持加减运算的方法

    因为JavaScript的加号运算符既能表示数字的加法也能表示字符串的连接,所以在处理运算前,需要区分当前的加号是表示运算还是字符串连接。 4. 在进行加减运算时,需考虑到加减运算中涉及的小数点问题,因为直接对...

    js要四舍五入且保留两位或N位有效数字或取整.pdf

    在JavaScript中,处理数字的四舍五入以及保留指定位数的有效数字是常见的需求,尤其对于前端开发者来说。本文将详细介绍两种主要的方法:`toFixed()` 和 `Math.round()`,以及它们在保留有效数字和取整方面的应用。 ...

    javascript避免数字计算精度误差的方法详解.docx

    ### JavaScript避免数字计算精度误差的方法详解 #### 一、引言 在JavaScript中进行浮点数运算时,经常会出现精度误差的问题。例如,一个简单的加法运算 `0.1 + 0.2` 的结果并不是预期中的 `0.3`,而是 `0....

    js 加减乘除

    在JavaScript中进行数值计算时,经常会出现不精确的情况,尤其是涉及到小数运算时更为明显。这是因为JavaScript中的数字是以IEEE 754双精度浮点数(64位)格式存储的,这种格式虽然可以提供较大的数值范围,但在某些...

    设计模式,四则运算表达式

    设计模式在四则运算表达式中的应用 ...设计模式在四则运算表达式中的应用,可以使计算器的设计更加灵活、可扩展,并且提高计算的效率和准确性。同时,使用设计模式也可以使代码更加简洁、易维护。

Global site tag (gtag.js) - Google Analytics