Вот моя ситуация.Это сводит меня с ума:
У меня есть NSMutableArray со значением счетчика 517. У меня есть двойное значение, которое является моим множителем.
double multiplier = 0.1223;
double result = [myArray count] * multiplier; // 63 even (wrong!)
На самом деле это должно быть 63,2291.Если я пойду:
double result = [myArray count] * 0.1223; // 63.2291 (right!)
или ..
double result = 517 * multiplier; // 63.2291 (right!)
Имеет ли это какой-либо смысл для кого-либо?
Приложение:
вот мойФактическая функция:
- (double) getValueForPercentage:(double)percVal
{
int adjustedCount = [originalData count] - 1;
double final = percVal * (double)adjustedCount;
return final;
}
Я никогда не получит никаких цифр после запятой, когда я это сделаю.Это работает , однако работает, если я избавлюсь от "-1", а-ля:
- (double) getValueForPercentage:(double)percVal
{
int adjustedCount = [originalData count];
double final = percVal * (double)adjustedCount;
return final;
}
Конечно, мне нужно иметь -1.
Второе добавление:
Еще одна интересная вещь, которую я заметил, была: если я передаю жестко запрограммированное число в эту функцию, она работает нормально, но если я передаю двойное значение, которое мне нужно использовать, то происходит сбой:
int pointCount = [srcData getDayCount];
for (int i = 0; i < pointCount; i++) {
double progress = (double)i/(double)(pointCount - 1);
double satv = [srcData getValueForPercentage:progress];
// satv is always a number without any digits beyond the decimal
}