JS的toFixed方法设置小数点位数后再进行计算,数据出错问题

这个应该算作失真,或者也不算。情况就是用了toFixed后再进行相关计算,得不到预期的结果

具体看例子

比如想动态计算百分比,保留一位小数如94.4%这样子

var blobTo = 409600;
var totalSize = 433927;
var percent = (blobTo / totalSize).toFixed(3) * 100;

percent // 94.39999999999999

恰巧碰到这个,然而percent并不是预期的结果。于是,测试各段数据

var blobTo = 409600;
var totalSize = 433927;
var percent1 = (blobTo / totalSize);
var percent2 = (blobTo / totalSize).toFixed(3);
var percent3 = (blobTo / totalSize).toFixed(3) * 100;
var percent4 = (blobTo / totalSize).toFixed(3) * 1;
var percent5 = (blobTo / totalSize).toFixed(3) * 10;

console.log(percent1, typeof(percent1)); // 0.9439375747533572 "number"
console.log(percent2, typeof(percent2)); // 0.944 string
console.log(percent3, typeof(percent3)); // 94.39999999999999 "number"
console.log(percent4, typeof(percent4)); // 0.944 "number"
console.log(percent5, typeof(percent5)); // 9.44 "number"

好生奇怪... 乘以10正常,当乘以100时,好像失真了

不明觉厉

最后找到一种方法解决,在括号里面先乘上100

var percent = (100* blobTo / totalSize).toFixed(1);

percent // 94.4

还不知道具体是为啥这样,知道的可以告诉我哈~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏web编程技术分享

JavaScript: 零基础轻松学闭包(1)

21250
来自专栏程序你好

微软Build 2018:C#语言的未来

未来C#特性列表中的第一位是可空引用类型。 我们在去年首次介绍了这一点,但是要简要回顾一下:默认情况下,所有引用变量,参数和字段将不可为空。 然后,就像值类型一...

25180
来自专栏工科狗和生物喵

【我的漫漫跨考路】数据结构之队列的线性实现

正文之前 最近在家流年不利,先是昨天家里路由器还是ADSL调制解调器坏了。反正是没网了!然后,今天上午还停电了,昨晚因为熬夜写码,所以忘了给手机充电了。早上起来...

29180
来自专栏Fundebug

如何实现JavaScript的Map和Filter函数?

14950
来自专栏take time, save time

你所能用到的数据结构(七)

十、装配火车的乐趣       国庆放假结束了,第一天真是不想来上班啊,接着国庆之前的吧,上一篇写的是利用数组实现堆栈的结构,使用数组的两个致命的弱点是大小必须...

35880
来自专栏JadePeng的技术博客

从Trie树到双数组Trie树

Trie树 原理 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较...

92560
来自专栏程序员互动联盟

【编程基础】盖大楼地基要牢固

水之积也不厚,则其负大舟也无力。——庄子 上一篇讲了几个编译编辑器,大家都可以用用,新手掌握几个是没有坏处的。 学编程要从基础学起,就像盖大楼,先把地基打好,...

38390
来自专栏小鄧子的技术博客专栏

算法与数据结构(2),Map

睡了不到六个小时,被一个很奇葩又很奇怪的梦吓醒,以最快的速度穿好衣服,跑下楼去买了杯咖啡上来,文字没写多少,咖啡倒是一饮而尽。

10310
来自专栏IMWeb前端团队

相爱相杀——正则与浏览器间的爱恨情仇

在腾爷《作为一个前端,可以如何机智地弄坏一台电脑?》之后,我就觉得需要学习这种低调奢华有内涵的文(biao)章(ti)名(dang)。 嘿嘿嘿,你看,你被我骗进...

24000
来自专栏Crossin的编程教室

【每周一坑】神奇的九宫格

五一小长假大家应该玩的挺开心吧,还沉浸在假日的愉悦中么?请大家收收心,准备准备月底的端午节。 看看本周的题目吧,本周的题目由读者 @疯琴 提供,我们做了小小的改...

30070

扫码关注云+社区

领取腾讯云代金券