Проблема NSNumberFormatter

В моем приложении я должен разделить сумму между участниками мероприятия, например, у меня есть имена 3 человек, такие как RAM, RAJ, RAGHU, если RAM помещает сумму 10,00 в событие, чем я делю между тремя людьми, такими как 10.00/3=3.333333, тогда,

RAJ должен платить RAM-------------3.33
RAGHU должен платить RAM -------3.33

в целом, он получает От других 2 человек в событии 6.66 здесь отсутствует 0.1, как я могу решить эту проблему, я использую NumberStyle:NSNumberFormatterCurrencyStyle, как показано ниже

NSNumberFormatter *numberFormater = [[NSNumberFormatter alloc] init];
[numberFormater setLocale:[NSLocale currentLocale]];
[numberFormater setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *str_num = [numberFormater stringFromNumber:[NSNumber numberWithDouble:3.333333]];
[numberFormater release];

person Narayana    schedule 29.09.2011    source источник
comment
как я могу разделить 10.00 между тремя людьми   -  person Narayana    schedule 29.09.2011
comment
поскольку наименьшее значение равно 0,01, я бы добавил 0,01 для каждого человека, прежде чем делить его. поэтому, если это 5 человек, добавьте 0,05, тогда ОЗУ никогда не будет сокращено, счет будет оплачен, и ни один не будет платить больше, чем лишнего цента. (для 3 человек объявление .03. и т.д.)   -  person normeus    schedule 29.09.2011
comment
Оперативная память платит только 10,00 только за это событие, как можно добавить 0,03 к этой сумме?   -  person Narayana    schedule 29.09.2011


Ответы (1)


Почему бы вам не вычесть долю оперативной памяти из 10? 10 - 3,33 = 6,67.

person Akshay    schedule 29.09.2011
comment
Не совсем. .9999... = 1. en.wikipedia.org/wiki/0.999... Вам нужно определить свои точные цифры, а затем округлить -вверх/вниз. Они платят по 3,33333..... каждый, что умножается на 3 равно 10. - person Akshay; 29.09.2011