js数据计算中的一个bug,9.44+4.8计算结果竟然是14.239999999999998

在使用js计算数据时,遇到一个很奇怪的问题,9.44+4.8计算结果竟然是14.239999999999998这个??很夸张。

于是享有经验的同事请教,这是怎么回事,原来是js的bug,在减法时,经常出现,加法时出现的少,需要修正,修正方式有两种,一种是转化为整数,另一种是使用toFixed()

,还有一种方式就是给加上一个很小的数,例如0.000000001,然后在取几位小数

第一种方法:使用整数的方法:

alert( (9.44*100+4.8*100)/100.0)

第二种方法:使用toFixed() 的方法

alert( (9.44+4.8).toFixed(2))

第三种方法:给加上一个很小的数

alert( (9.44+4.8+0.000000001).toFixed(3))
时间: 2024-10-10 09:44:45

js数据计算中的一个bug,9.44+4.8计算结果竟然是14.239999999999998的相关文章

在数据表中添加一个字段的SQL语句怎么写

如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0 alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0

在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM

题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在"D:\java"文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 myPackage 包中创建一个YMD类,该类具有计算今年的年份.可以输出一个带有年月日的字符串的功能.设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名.年龄.出生日期.程序使用YMD的方法来计算年龄. 主要考包的运用 用到java.util.Calendar

JS实现数组中每一个元素出现的次数

一.var arrayObj = [1, 1, 2, 3, 3, 3, 4, 5, 5]; 找出数组中每一个元素出现的次数,我这里简单一下就用for循环来实现.首先先声明几个变量, var temp = "";//中间变量,临时存储循环时用来存储数组中的某个元素 var count = 0;//循环时用来存储数组中的某个元素出现的次数 var arrNew = new Array(); //新建一个数据用来存放循环后的数据 下面开始循环 for(var i=0;i<arrayOb

记录一个使用HttpClient过程中的一个bug

最近用HttpClient进行链接请求,开了多线程之后发现经常有线程hang住,查看线程dump java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketI

微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug

开篇介绍 前些天自己在整理 SSIS 2012 资料的时候发现了一个功能设计上的疑似Bug,在 Script Task 中是可以给只读列表中的变量赋值.我记得以前在 2008 的版本中为了弄明白这个配置,还特意测试过这个细节,获取错误并理解了这个功能.但是现在回去再次测试 2008 的版本时,发现这个功能在 2008 中其实也是错误的,把我印象中的测试结果完全给推翻了,所以到现在已经搞不清楚我当时到底是如果得出这个错误的. 疑似功能 Bug 描述 在 SSIS 包中定义了用户自定义变量 - PV

yarn client中的一个BUG的修复

org.apache.spark.deploy.yarn.Client.scala中的monitorApplication方法: /** * Report the state of an application until it has exited, either successfully or * due to some failure, then return a pair of the yarn application state (FINISHED, FAILED, * KILLED,

VS 中的一个BUG?求大神帮我解答下。

首先,希望知道这个问题的人能够帮我解答下. 来看代码: int main() { long long int result=-321; cout<<result<<endl; if(INT_MIN==-2147483648) cout<<"相等"<<endl; if( result<-2147483648) cout<<"1"<<endl; if( result<INT_MIN) c

mysql5.5复制环境中的一个bug

mysql5.5,主从复制环境中 binlog格式是ROW时 有表使用了mrg_myisam引擎 以上三个条件都满足时,恭喜你,当你insert一条记录时,你会看到从库不停的在重启,每次重启都做crash recovery. 这个bug存在于所有5.5版本中,bug记录:https://bugs.mysql.com/bug.php?id=73635. 解决办法: 升级到5.6版本,亲测5.6已修复该bug. 改binlog格式. 改引擎吧,不使用mrg_myisam引擎.

js在页面中添加一个元素 —— 添加弹幕

参考地址 [往下拉 —— 使用HTML DOM appendChild() 方法实现元素的添加 ] 一.创建 HTML <div class="right_liuyan"> <marquee id="liuyan" scrollAmount=2 width=200 height=300 direction=up > <div class="danmu"> <p>竟然还有文字识别!!!</p&g