В приложении, которое я создаю сейчас, я использую несколько действительно маленьких чисел (4.12027703723203E-18
, 7.685842358296843E-21
, 6.882072376426952E-24
, 2.7150860398820128E-27
и т. Д.).
Проблема в том, что когда я 'Сохраняя их в массиве, они становятся равными 0. Немного кода:
-(BOOL)checkNewInfo:(NSIndexPath*)indexPath andValue:(double)value {
//code omitted
[self.theValues replaceObjectAtIndex:indexPath.row withObject:[NSString stringWithFormat:@"%f", value]];
//code omitted
}
Я сделал некоторую отладку, и вот результат:
(gdb) p (double) value
$1 = 4.12027703723203e-18
(gdb) po [self theValues]
<__NSArrayM 0x6a45dc0>(
1.6086921836575816E-11,
3.7511646463463610E-13,
0.000000,
4.6856843535196843E-21,
9.820723621786952E-24
)
Исходные числа взяты из текстафайл, и они могут быть легко доступны и использованы.
Таким образом, я заменил номер в индексе 2 (старый 5.12027703723203E-18
, новый 4.12027703723203E-18
).Так что в теории число не должно меняться, но на самом деле оно становится 0.000000
.
Что мне делать, чтобы сохранить числа?
Спасибо, любая помощь будет очень полезнацениться