Нужно выразить некоторые числа в процентах, где общее число равно 1, а не 100? - PullRequest
0 голосов
/ 19 января 2011

Мне нужно выразить некоторые числа (например, 1300, 500, 900) в процентах, где сумма будет 1, а не 100.

Может быть 10 чисел, и они могут находиться в диапазоне 1до 99 999, я думаю.

Мне нужно выполнить некоторые математические вычисления в моей программе, чтобы преобразовать эти числа в соответствующие значения.

Я, вероятно, не очень хорошо объясняю это.* Не беспокойтесь о коде, но вот что мне нужно.

    [chart addSlicePortion:0.1 withName:@"Orange"];
    [chart addSlicePortion:0.2 withName:@"Fandango"];
    [chart addSlicePortion:0.1 withName:@"Blue"];
    [chart addSlicePortion:0.1 withName:@"Cerulean"];
    [chart addSlicePortion:0.3 withName:@"Green"];
    [chart addSlicePortion:0.1 withName:@"Yellow"];
    [chart addSlicePortion:0.1 withName:@"Pink"];

Мне нужно произвести число 0,1, 0,2 и т. Д. Обратите внимание, что они складываются в 1

Ответы [ 2 ]

2 голосов
/ 19 января 2011

Обычный процент имеет в общей сложности 1. Если у вас есть 1300, 500 и 900, сложите их, а затем разделите каждый на общее количество. 1300 / (1300 + 500 + 900) например. Это даст вам 0,48 ...

0 голосов
/ 19 января 2011

Разделите каждое из чисел на общую сумму всех чисел. Таким образом,

1300 / (1300 + 500 + 900) = 0.48148148148148148148148148148148
500 / (1300 + 500 + 900) = 0.18518518518518518518518518518519
900 / (1300 + 500 + 900) = 0.33333333333333333333333333333333

Обратите внимание, что сумма этих чисел равна

1300 / (1300 + 500 + 900) + 500 / (1300 + 500 + 900) + 900 / (1300 + 500 + 900) =
(1300 + 500 + 900) / (1300 + 500 + 900) =
1

Вы также можете проверить это, добавив приведенные десятичные расширения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...