`
pingfan
  • 浏览: 38888 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JS乘法误差

    博客分类:
  • js
 
阅读更多
偶然一个测试发现js运算有点怪,导致异常,如下:

页面有个input输入价格,单位是元,可输入2位小数.该数字用JS乘以100后传给Action的一个int变量接收,却发现在某些值下,报异常.

问题所在:
function test(){
	alert("19.9*100="+(19.9*100));
}


输出:


解决办法:
将数字乘以10000后,再除以100,再取整


  • 大小: 11.5 KB
  • 大小: 12.2 KB
分享到:
评论

相关推荐

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

    可以使用一些专门处理高精度计算的JavaScript库,如`decimal.js`或`big.js`,这些库提供了一套完整的高精度数学运算API,可以避免浮点误差。 5. **自定义加法、减法、乘法、除法函数**: 上述代码中还展示了...

    JS精确乘法除法

    //说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。

    javascript 小数乘法结果错误的处理方法

    总的来说,处理JavaScript中的小数乘法结果错误通常需要理解浮点数运算的内在机制,并采取适当的策略来减少或消除误差。这可能包括改变计算顺序,调整数值规模,或者使用自定义的数学函数来实现更精确的计算。在实际...

    javascript 除法、乘法、加法精确计算

    javascript的除法、乘法、加法结果会有误差,在两个浮点数相除的时候会比较明显。自定义几个函数返回较为精确的除法结果。

    javascript(js)的小数点乘法除法问题.docx

    ### JavaScript(JS)中的小数点乘法与除法问题详解 #### 一、问题背景及原因分析 在JavaScript中处理小数的乘除运算时,经常会出现精度问题。例如,当我们进行`12.32 * 7`的计算时,期望的结果应该是`86.24`,但在...

    js加减乘除丢失精度问题解决方法

    在javascript中,当你使用小数进行加减乘除运算时,你会发现,所得到的结果有时后面带有长长的一段小数,使运算变得复杂,并且影响计算结果。上网查询了一下原因,大致如下:在javascript中,带小数的数据运算时总会...

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

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

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

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

    javascript(js)的小数点乘法除法问题详解

    在编程语言JavaScript(通常简称为js)中,处理小数时经常会遇到一个困扰开发者的问题,那就是小数点乘法和除法可能出现的精度误差。通常,这种现象发生在使用浮点数进行乘法或除法运算后得到的结果并不精确,导致...

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

    然而,由于JavaScript在处理浮点数时的内部表示和精度问题,经常会发生乘法运算导致的浮点数误差。在本篇文章中,将详细解析产生该问题的原因,并提供几种解决方案。 首先,我们需要了解为什么会出现乘法的浮点错误...

    decimaljsJavaScript的任意精度Decimal类型

    2. **避免浮点误差**:由于Decimal.js不依赖于JavaScript的Number类型,所以它能避免浮点数运算中的误差,保证了计算的精确性。 3. **丰富的数学运算**:Decimal.js 支持加法、减法、乘法、除法、指数、对数等基本...

    JS工具类

    JavaScript(简称JS)工具类是开发过程中不可或缺的一部分,它们提供了一系列通用的方法,帮助开发者更高效地处理各种编程任务。在给定的“JS工具类”主题中,我们重点关注了一个名为`FloatArithUtil.js`的文件,这...

    前端项目-decimal.js.zip

    它设计的目标是提供简单、高效且无误差的十进制数学运算,避免了JavaScript原生数据类型在处理大数字或高精度计算时可能出现的问题。以下是关于Decimal.js库的一些关键知识点: 1. **任意精度**:Decimal.js可以...

    js计算精度问题解决方案

    5. **使用固定精度的数字库**:有一些JavaScript库,如`decimal.js`或`bignumber.js`,它们提供了支持任意精度的数字类型,可以在计算过程中保持极高的精度。 6. **利用整数运算**:如果可能,将计算转换为整数运算...

    前端项目-big.js.zip

    使用big.js库,前端开发者可以处理超出JavaScript原生数据类型(Number)精度范围的数值,避免了因为浮点数计算误差导致的问题。例如,在金融应用中,精确的货币计算是非常重要的,big.js可以帮助开发者实现这一点。...

    js数字计算 误差问题的快速解决方法

    JavaScript中的数字计算误差问题主要发生在处理浮点数的运算时,...此外,对于大型系统,也可以考虑使用JavaScript中的`BigNumber.js`或者`decimal.js`这类处理大数字和高精度计算的库,以更系统地解决数字精度问题。

    Bigdecimal.js

    "Bigdecimal.js"就是这样一个专门解决多精度小数运算问题的JavaScript库。它允许开发者在JavaScript环境中进行高精度的浮点数运算,避免了由于JavaScript内置类型处理大数和小数时可能出现的精度丢失问题。 ...

    javascript小数精度丢失的完美解决方法

    在使用JavaScript进行小数运算时,由于JavaScript的内部运算规则是基于二进制实现的,而大多数小数在转换为二进制形式时无法精确表示,这就导致了小数运算时可能出现精度丢失的问题。例如,当执行0.3*1的运算时,...

    DeepLearn.js 是一个可用于机器智能并加速 WebGL 的开源 JavaScript 库

    DeepLearn.js 是一个专为实现机器智能而设计的开源 JavaScript 库,它利用 WebGL 的图形处理能力来加速计算,使得在浏览器端进行复杂的人工智能运算成为可能。这一创新性的技术为前端开发者提供了一个无需依赖服务器...

Global site tag (gtag.js) - Google Analytics