javascript - 在js中计算百分比

标签 javascript math percentage

<分区>

我正在尝试使用 javascript 创建一个简单的百分比计算器。

我在控制台中尝试了一个简单的计算(试一试):

106 / 100 * 10

它返回给我:

10.600000000000001

这是怎么回事?括号没有区别,并不是每个数字都会出现这种情况。我希望结果是 10.6 对吗?任何人都可以提供解释吗?这不是特定于浏览器的,它发生在 Chrome 开发工具和 Firebug 中。

最佳答案

不,结果足够正确(即使改变操作顺序可能会导致不同的结果),这是 IEEE754 浮点存储的奇迹之一:数字不像你那样存储的结果看到它们,那是一些十进制数字和一个逗号,但是作为

K * 2 ^ N

其中 K 和 N 是有符号整数。

当然不是所有的数字都可以精确存储,其他的只是逼近。

我建议您阅读 this introduction to IEEE754 computing .

你需要的是在输出给用户时格式化数字,例如用

var string = myNumber.toFixed(1);

关于javascript - 在js中计算百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16489275/

相关文章:

javascript - 为什么浏览器无法从 `../lib/`(相对)位置找到 js 文件?

javascript - 最大高度的奇怪 Accordion 行为

javascript - Velocity.js - 如何使用具有 UI 效果的序列?

java - charAt() 和 Math.pow()

javascript - 是否可以将对象评估为 bool 值?

algorithm - 计算两个位置之间的大概位置

algorithm - 如何计算大小为n、设置了k位且位值发生c次变化的位序列有多少个?

python - 计算字典值的百分比

sql - 计算返回 0 的 SQL 中两列之间值的百分比差异

ruby-on-rails - 计算 ruby 中真实元素的百分比