`
liyanhui
  • 浏览: 349620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[转]Js中parseFloat()方法所产生的精度问题

阅读更多

Demo:

<script language="javascript">
var a = "0.11";
var b = "0.2801";
var c = "1.002";
var sum1 = parseFloat(a)+parseFloat(b)+parseFloat(c);
var sum2 = (parseFloat(a)+parseFloat(b)+parseFloat(c)).toFixed(4)
document.write("a+b+c="+sum1);
document.write("<br/>")
document.write("a+b+c="+sum2)
</script>

a,b,c相加本来为1.3921,但sum1得出的结果为:1.3921000000000001,显然不正确,通过toFixed(n)方法修正后(n是精确的小数点位数),得到正确结果。

如:parseFloat(1.392143).toFixed(3)=1.392;

分享到:
评论

相关推荐

    javascript的parseFloat()方法精度问题探讨

    在Javascript中parseFloat()方法会产生精度问题 代码如下: [removed] var a = “0.11”; var b = “0.2801”; var c = “1.002”; var sum1 = parseFloat(a) + parseFloat(b) + parseFloat(c); var sum2 = ...

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

    在JavaScript中进行浮点数运算时,经常会出现精度误差的问题。例如,一个简单的加法运算 `0.1 + 0.2` 的结果并不是预期中的 `0.3`,而是 `0.30000000000000004`。这种现象不仅让人困惑,而且在实际应用中可能会导致...

    JS精度计算1、转成整数计算再转换成小数,2、toFixed,3、math.js,4、bignumber.js,5、big.js

    类似于`bignumber.js`,`big.js`也是一个轻量级的库,专注于解决JavaScript的浮点数精度问题。它提供了一个Big类,用于创建和操作大数。与`bignumber.js`相比,`big.js`的API更简单,适合对性能要求较高或不需要...

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

    标题所提到的知识点是关于在JavaScript编程语言中,如何处理和避免在进行数字计算时出现的精度误差问题。这个问题是数字在以浮点数形式存储时,因为计算机的存储架构是以二进制为基础的,导致一些十进制小数在二进制...

    js中小数运算(加、减、乘、除)的问题及一些数学函

    JS 中小数运算(加、减、乘、除)的问题是指在JavaScript中对小数进行加、减、乘、除运算时可能遇到的精度问题。这种问题的产生是由于计算机对浮点数的存储方式和精度的限制。浮点数在计算机中是以二进制形式存储的...

    详解JavaScript中精度失准问题及解决方法

    在JavaScript中,精度失准问题主要源于其内部对...综上所述,理解JavaScript中的精度问题以及如何应对,对于编写涉及高精度计算的代码至关重要。正确地处理这些细节可以帮助我们编写出更加健壮和可靠的JavaScript程序。

    Javascript的数据类型转换

    虽然它能方便地格式化数字,但需要注意,由于JavaScript的浮点数精度问题,`toFixed()` 的结果可能不完全精确。 在JavaScript编程中,理解这些转换方法及其工作原理至关重要,因为它们经常在处理用户输入、数据验证...

    JS中乘法的浮点错误解决方法

    在JavaScript中,浮点数运算时常会出现精度问题,这主要是由于计算机内部表示浮点数的方式导致的。在JS中,11乘以22.9的结果并非预期的251.9,而是251.89999999999998,这种现象称为浮点误差。这是因为JavaScript...

    JS 数据类型转换

    **BigInt**:从ES2020开始,JavaScript引入了BigInt类型来处理大整数,避免了Number类型在处理大整数时的精度问题。 **String**:字符串是由一串字符组成的,它们是不可变的。可以使用单引号或双引号创建字符串,...

    javascript中的float运算精度实例分析

    在JavaScript编程中,浮点数的运算精度是一个需要...理解并掌握JavaScript中浮点数的精度问题及应对方法,对于提高程序的可靠性和正确性至关重要。通过上述方法,开发者可以有效地处理和校正浮点运算中可能出现的误差。

    js计算小数的通用方法

    这种方法不仅可以用于解决小数运算中的精度问题,还可以广泛应用于财务系统、科学计算等领域中,特别是当对计算结果的精度有较高要求时。通过这种方式,开发者可以在JavaScript中更准确地处理涉及小数的数学运算,...

    JS中数学函数的使用

    本文将详细介绍JS中的数学函数及其使用方法,并针对常见的小数运算问题提出解决方案。 #### 二、JS中小数运算问题及解决方案 在JavaScript中,由于浮点数的存储方式和计算机制,直接进行小数运算时可能会遇到精度...

    javascript计算器

    在JavaScript中,小数运算时常会遇到精度损失的问题,这是由于JavaScript使用了IEEE 754浮点数标准来存储和处理数字。这个标准在处理某些特定的小数运算时可能会导致结果不精确,尤其是在涉及大数和小数相除、循环...

    JavaScript习题(语言结构)

    JavaScript是Web开发中不可或缺的一部分,主要用于网页和网络应用的交互。以下是对题目中涉及的知识点的详细解释: 1. 关键字运算符:在JavaScript中,由关键字表示的运算符包括`typeof`、`delete`、`void`、`in`、...

    Javascript获取界面数字做比较常见问题

    JavaScript的Number类型存在精度问题,对于超过15位的小数,可能会出现不精确。在比较时,可以考虑四舍五入或使用特定库(如`decimal.js`)处理高精度计算。 #### 3.3 正负零比较 JavaScript中存在正零和负零,它们...

    解决Java中由于数据太大自动转换成科学计数法的问题

    在JavaScript中,我们可以使用parseFloat函数来解决大数据自动转换成科学计数法的问题。例如: var str = parseFloat(num).toString(); 这将将大数据转换成字符串形式,避免了自动转换成科学计数法。 总结 大数据...

    JavaScript浮点数及运算精度调整详解

    需要注意的是,虽然`toFixed()`方法可以解决精度问题,但返回的是字符串类型,如果后续运算中需要将这个结果转换为数字类型,使用`parseFloat()`函数可以实现转换。 总而言之,JavaScript中的浮点数精度问题是一个...

Global site tag (gtag.js) - Google Analytics