【发布时间】:2018-06-14 12:12:35
【问题描述】:
我试图将 100 除以一个数字,所以我得到 该数字的百分比放入变量中 放入 FOR ... 并且 FOR 将百分比放入 Array ... 或多或少 这个:
var number = 4
var percentage = 100 / number
var somaPercentual = new Array();
for (i = 0; i < number; i++) {
var percentage = percentage
somaPercentual.push(percentage)
}
console.log(somaPercentual)
在这种情况下,我的数组会出现:
25,25,25,25
所以我需要对所有 Array 值求和并给出 100! 到目前为止一切顺利......当除以 100 的数字是奇数时,头痛就开始了!
例如,如果变量数等于 3,我的数组将给出 = 33.33, 33.33, 33.33,总和将给出 99.99 .... 然后搞砸了! 当数字是奇数时,总是会发生这种情况。
谁能给我一盏灯?
【问题讨论】:
-
在考虑代码之前,先从数学角度考虑...如果除数是3,那么可以存在什么3个相同的数字加起来到 100?您想要生成的数组对于 3 是什么样的?
-
奇数时总是这样? 5个呢?
-
@Jorge.V 或 6
-
@David 嗯,在数学上 0.99999.... 无限数 9 实际上等于 1。问题是在计算机上你不能真正拥有“无限”的任何东西。跨度>
-
但是.. 但是 100 % 6 =/= 0。
标签: javascript math