0

コアデータから取得した値が 30 の float があります。

NSLog を使用して値を出力すると、30 になります。

NSLog(@"The value of float temp is %@", [self.detailItem valueForKey:@"credit"]);

float を int にキャストして値を出力すると、ログが出力されるたびに奇妙な数値と異なる結果が得られます。

NSLog(@"The value of float temp is %d", (int)[self.detailItem valueForKey:@"credit"]);

137978864
122273424
4

2 に答える 2

2

これを試して

NSLog(@"The value of float temp is %d", [[self.detailItem valueForKey:@"credit"] intValue]);
于 2013-05-21T00:59:27.973 に答える
1

valueForKey はオブジェクトを返します。Coredata には、NSNumber や NSString などのオブジェクトが格納されます。intValue を使用してそれらをキャストします。試す:

NSLog(@"The value of float temp is %d", [[self.detailItem valueForKey:@"credit"] intValue]);

于 2013-05-21T00:59:33.787 に答える