私が今ビルドしているアプリでは、実際に小さな数字(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
になります。
番号を保持するにはどうすればよいですか?
は、任意のヘルプは大幅に