Tôi đang cố gắng chia 100 cho một số, vì vậy tôi nhận được tỷ lệ phần trăm của số đó để đặt một biến vào A cho ... và cho việc đặt tỷ lệ phần trăm bên trong một mảng ... ít nhiều điều này:
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]
Trong trường hợp này, mảng của tôi sẽ đến:
25,25,25,25
Vì vậy, tôi cần tổng hợp tất cả các giá trị mảng và cho 100! Cho đến nay rất tốt ... cơn đau đầu bắt đầu khi số sẽ được chia cho 100 là một số lẻ!
Nếu số biến bằng 3 ví dụ, mảng của tôi sẽ cho = 33,33, 33,33, 33,33, trong đó số tiền sẽ cho 99,99 .... và sau đó làm hỏng nó! Điều này luôn xảy ra khi số là lẻ.
Bất cứ ai có thể cho tôi một ánh sáng?
Andrew Bone
6,9642 Huy hiệu vàng17 Huy hiệu bạc33 Huy hiệu đồng2 gold badges17 silver badges33 bronze badges
Đã hỏi ngày 14 tháng 6 năm 2018 lúc 12:12Jun 14, 2018 at 12:12
11
Bạn có thể sử dụng Math.round[]
khi bạn tổng hợp các phần tử mảng. Điều này sẽ luôn cung cấp số tiền lên đến 100
function sum[number]{
var percentage = 100 / number;
var somaPercentual = new Array[];
for [i = 0; i sum+=item];
console.log[Math.round[sum]];
}
sum[3];
sum[4];
sum[5];
sum[6];
Đã trả lời ngày 14 tháng 6 năm 2018 lúc 12:18Jun 14, 2018 at 12:18
Ankit Agarwalankit AgarwalAnkit Agarwal
30K5 Huy hiệu vàng37 Huy hiệu bạc59 Huy hiệu đồng5 gold badges37 silver badges59 bronze badges
Nếu bạn không bận tâm đến một trong những con số là một chút, để chọn lỗi, bạn có thể làm điều gì đó như thế này.
Khi nó đạt đến số cuối cùng, nó sẽ giải quyết những gì còn lại để tạo 100 và đẩy nó hơn là cùng một tỷ lệ phần trăm một lần nữa.
document.querySelector['button'].addEventListener['click', [] => {
var number = document.querySelector['input'].value;
var percentage = 100 / number
var somaPercentual = new Array[];
for [i = 0; i < number; i++] {
i < number - 1 ?
somaPercentual.push[percentage] :
somaPercentual.push[100 - somaPercentual.reduce[[a, b] => {
return a + b
}]];
}
console.log[somaPercentual]
console.log[somaPercentual.reduce[[a, b] => {
return a + b
}]]
}]
calc
Tôi hy vọng bạn tìm thấy điều này hữu ích 🙂
Đã trả lời ngày 14 tháng 6 năm 2018 lúc 12:47Jun 14, 2018 at 12:47
Andrew Boneandrew xươngAndrew Bone
6,9642 Huy hiệu vàng17 Huy hiệu bạc33 Huy hiệu đồng2 gold badges17 silver badges33 bronze badges
1
Đã hỏi ngày 14 tháng 6 năm 2018 lúc 12:12
Bạn có thể sử dụng Math.round[]
khi bạn tổng hợp các phần tử mảng. Điều này sẽ luôn cung cấp số tiền lên đến 100
Jun 14, 2018 at 12:19
Đã trả lời ngày 14 tháng 6 năm 2018 lúc 12:18Rahul Rana
Ankit Agarwalankit Agarwal2 silver badges7 bronze badges
30K5 Huy hiệu vàng37 Huy hiệu bạc59 Huy hiệu đồng
console.clear[];
function getPercentuals[number] {
var roundingError = 0.0;
var somaPercentual = new Array[];
for [i = 0; i < number; i++] {
var percentageExact = 100 / number;
var percentageRound = round[percentageExact];
roundingError += percentageExact - percentageRound;
if [roundingError > 0.01] {
percentageRound = round[percentageRound + 0.01];
roundingError -= 0.01;
} else if [roundingError < -0.01] {
percentageRound = round[percentageRound - 0.01];
roundingError += 0.01;
}
somaPercentual.push[percentageRound]
}
return somaPercentual;
}
function round[number] {
return Math.round[number * Math.pow[10, 2]] / Math.pow[10, 2];
}
for [num = 1; num sum += item];
console.log[num, somaPercentual, Math.round[sum]];
}
Andrew Bone
6,9642 Huy hiệu vàng17 Huy hiệu bạc33 Huy hiệu đồng2 gold badges17 silver badges33 bronze badges
Đã hỏi ngày 14 tháng 6 năm 2018 lúc 12:12Jun 14, 2018 at 12:55