1、问题:

平时写的代码中会出现这种情况,parseFloat(11.3-10.1) 运行的结果依然是1.200000000000001

代码示例:

 var arr = [0.0111,11.002,0.3,1.5,1.61]
var total =
arr.forEach(item =>{
total += item
})
console.log(total)

返回的结果---  14.423100000000002,这种情况就不合常理。

2、解决方案:

这里有一种可行的解决方法,应用到Math中的一些浮点应用的函数如:parseFloat()和Math.floor()

代码如下:

 var arr = [0.0111,11.002,0.3,1.5,1.61]
var total =
arr.forEach(item =>{
total += parseFloat(item)
})
total = Math.floor(total*)/
console.log(total)

返回的结果---  14.42,返回的是有两位小数点的数字。

当然还有其他的解决方案,这篇文章只记录这一种,作为总结和后期参考。

JS中小数相加相减时出现很长的小数点的解决方式的更多相关文章

  1. vue.js中 v-show在刷新页面时,会闪一下,如何解决?

    因为浏览器是html从上到下执行,先执行Dom元素,然后执行javaScript元素,v-show实在javaScript中控制,当走到javaScript时,Dom元素已经开始走动,所以如果网慢的话 ...

  2. js面试题--------JS中数字和字符,布尔类型相加相减问题

    JS中数字和字符相加相减问题 <html lang="en"> <head> <meta charset="utf-8" /> ...

  3. javascript小数相减会出现一长串的小数位数的原因

    javascript小数相减会出现一长串的小数位数的原因 <script> var a='38.8'; var b='6.8'; alert(parseFloat(a)-parseFloa ...

  4. js中小数精度问题

    js中小数的取值为近似值,可能比实际值大,也可能比实际值小,进行“四舍五入”得到的 例如:alert(0.1+0.2);值为0.300000004     alert(0.2+0.7);值为1.899 ...

  5. spa(单页应用)中,使用history模式时,微信长按识别二维码在ios下失效的问题

    spa(单页应用,vue)中,使用history模式时,微信长按识别二维码在ios下失效的问题. 触发条件: spa单页应用: 路由模式 history 从其他页面跳转到带有微信二维码识别的页面(不是 ...

  6. mysql时间日期相加相减实现

    分享篇mysql中日期的一些操作,就是我们常常会用到的mysql时间日期的相加或者相减的了,这个mysql也自己带了函数,有需要的朋友可以参考一下. 最简单的方法 select TO_DAYS(str ...

  7. 上机题目(中级)- 两个超级大的整数相加相减 (Java)

    代码例如以下: public class AddSub { public static void main(String[] args) { String a="46328648326846 ...

  8. JS实现数组的相减操作

    /** * 数组相减的方法 * @param {Array} a * @param {Array} b */ function arrSubtraction(a, b) { if (!a || !b ...

  9. node.js 中回调函数callback(转载),说的很清楚,看一遍就理解了

    最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(fu ...

随机推荐

  1. 干货:Vue粒子特效(vue-particles插件)

    转:https://www.jianshu.com/p/53199b842d25 image.png 图上那些类似于星座图的点和线,是由vue-particles生成的,不仅自己动,而且能与用户鼠标事 ...

  2. SpringBoot2.0之四 简单整合MyBatis

    从最开始的SSH(Struts+Spring+Hibernate),到后来的SMM(SpringMVC+Spring+MyBatis),到目前的S(SpringBoot),随着框架的不断更新换代,也为 ...

  3. python接口自动化-post请求1

    一.查看官方文档 1. 学习一个新的模块,直接用 help 函数就能查看相关注释或案例内容,例如 具体信息如下,可查看 python 发送 ge t和 post 请求的案例: F:\test-req- ...

  4. Mybatis实现高级映射一对一、一对多查询

    终于把论文写得差不多了,系统也不急着完成,可以抽出点时间来完成这个系列的博客了.在写本博客之前我是惶恐不安的,高级映射一贯是持久层框架里的重中之重,小到自己开发小系统,大到企业级开发,表的存在从来就不 ...

  5. Golang 入门系列(二)学习Go语言需要注意的坑

    上一章节我们已经了解了 Go 环境的配置,不了解的,请查看前面的文章 https://www.cnblogs.com/zhangweizhong/p/9459945.html,本章节我们将学习 Go ...

  6. xgboost 参数调优指南

    一.XGBoost的优势 XGBoost算法可以给预测模型带来能力的提升.当我对它的表现有更多了解的时候,当我对它的高准确率背后的原理有更多了解的时候,我发现它具有很多优势: 1 正则化 标准GBDT ...

  7. 在 .NET Core 中结合 HttpClientFactory 使用 Polly(下篇)

    译者:王亮作者:Polly 团队原文:http://t.cn/EhZ90oq声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的(包括标题).其中可能会去除一些不影响理解但本人实在不知道如 ...

  8. Mariadb第一章:介绍及安装--小白博客

    mariadb(第一章)   数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以 ...

  9. 跳出语句break 和continue

    关键字break 常见的两种用法 在switch语句当中,一旦执行,整个switch语句立刻结束 在循环语句当中,一旦执行,整个循环语句立刻结束.跳出循环 代码举例: public class Dem ...

  10. Neutron local network 学习

    local network 的特点是不会与宿主机的任何物理网卡相连,也不关联任何的 VLAN ID.   对于每个 local netwrok,ML2 linux-bridge 会创建一个 bridg ...