js中带小数的两数据的操作问题,出现很多小数位
2012-04-07 00:01
399 查看
前几天碰到有趣的是 0.1+0.2 ==0.3 //false
顿时郁闷,好吧原来0.1+0.2变成了 0.30000000000000004
再来一个 2.4/0.8 =>2.9999999999999996 没办法换种方式,都转换成整数 (2.4 * 100 )/(0.8 *100)
然后今天做项目的时候刚好也碰到了,要做一个价格增减的运算,譬如原来的价格是
10.22现在要减去0.11 结果值又出现了很多的小数 10.110000000000001,然后我就用了toFixed来过滤小数,但是不知道跟前面那种转换成整数后再执行哪种效率高,好吧还是试下再说 var date1 = new Date();
for(var i = 0; i < 10000; i++){
var result1 = (10.22 -0.11).toFixed(2);
}
console.log(new Date() - date1);//22
var date2 = new Date();
for(var j = 0; j < 10000; j++){
var result2 = (10.22 * 1000 -0.11 * 1000)/1000;
}
console.log(new Date() - date2);//1
差距很明显了
顿时郁闷,好吧原来0.1+0.2变成了 0.30000000000000004
再来一个 2.4/0.8 =>2.9999999999999996 没办法换种方式,都转换成整数 (2.4 * 100 )/(0.8 *100)
然后今天做项目的时候刚好也碰到了,要做一个价格增减的运算,譬如原来的价格是
10.22现在要减去0.11 结果值又出现了很多的小数 10.110000000000001,然后我就用了toFixed来过滤小数,但是不知道跟前面那种转换成整数后再执行哪种效率高,好吧还是试下再说 var date1 = new Date();
for(var i = 0; i < 10000; i++){
var result1 = (10.22 -0.11).toFixed(2);
}
console.log(new Date() - date1);//22
var date2 = new Date();
for(var j = 0; j < 10000; j++){
var result2 = (10.22 * 1000 -0.11 * 1000)/1000;
}
console.log(new Date() - date2);//1
差距很明显了
相关文章推荐
- JS操作小数运算,结果莫名其妙出现多位小数问题
- java与json互相转换(解决日期问题),js显示json数据时出现日期类型显示[object,object]现象解决!
- js计算出现多位小数-Javascript 浮点运算问题分析与解决
- vue.js中使用vueResource向后台请求数据时出现跨域访问失败的问题
- Delphi中多线程用Synchronize实现VCL数据同步显示 解决在线程中操作控件出现问题
- 使用js对table单元格隐藏显示操作出现单元格叠加问题
- 关于页面js输出数组数据时出现‘,’的问题
- 使用tableExport.js导出数据出现科学计数法的问题解决
- js小数运算精度问题,js浮点数运算时出现精度问题
- js 小数相加出现很多小数位
- 解决js进行四则运算时出现的小数尾差问题
- JS小数运算出现多为小数问题的解决方法
- JS 数字相加出现多个小数的问题
- 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期
- 解决Oracle透明网关连接SQL server进行数据操作出现“列名无效”问题
- MysqlNDBcluster集群数据操作可能出现的问题
- 访谈计算机操作管理协会(Afcom)首席执行官Jill Eckhaus:数据中心问题出现在何处?
- JS小数运算出现多为小数问题的解决方法
- .NET 里操作Excel 出现有些列的数据取不到的问题
- java中操作Oracle clob数据出现的连接关闭问题