0

コア データと共に格納されている値がいくつかあり、値が正しく格納されていることを確認するためにアプリケーションの sqlite データベースを開きましたが、値を表示しようとすると、それらはすべてファンキーになります。コア データ エンティティの値を配列に格納してから、値を呼び出そうとします。基本的に、私はObjective Cで開発するのが初めてで、書式設定の助けが必要だと思います. 出力にファンキーな数字を表示するコード ブロックを次に示します。

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
NSString *dateString = [dateFormatter stringFromDate:dJournal.dateTime];

cell.dateLabel.text = dateString;
cell.insulinTypeLabel.text = dJournal.insulinType; 
cell.glucoseLevelLabel.text = [NSString stringWithFormat:@"%e",dJournal.glucoseLevel ];
cell.carbTotalLabel.text = [NSString stringWithFormat:@"%d",dJournal.carbTotal ];
cell.insulinAmountLabel.text = [NSString stringWithFormat:@"%E",dJournal.insulinUnits ];

return cell;

コア データで生成されたクラス ファイルは次のとおりです。

@property (nonatomic, retain) NSDate * dateTime;
@property (nonatomic, retain) NSNumber * glucoseLevel; //Double
@property (nonatomic, retain) NSString * insulinType;  //string - no problem with
@property (nonatomic, retain) NSNumber * insulinUnits; //Double
@property (nonatomic, retain) NSNumber * carbTotal; //Integer64

私も試しました:

[[NSNumber numberWithInt:carbTotal] stringValue]

運がない。助けてくれてありがとう。

4

2 に答える 2

0

間違った指定子を使用しています。使用してみてください

 [NSString stringWithFormate:@"%@",your_string];
 [NSString stringWithFormate:@"%d",your_integer];
 [NSString stringWithFormate:@"%.02f",your_float]; 

.02小数点以下の桁数を示します

于 2012-06-13T15:30:06.287 に答える
0

%eなどを使用している理由は何%dですか?Objective-C オブジェクトを出力したい場合は、%@フォーマット指定子を使用する必要があります。

cell.glucoseLevelLabel.text = [NSString stringWithFormat:@"%@", dJournal.glucoseLevel];

ただし、数値を表示している場合は、実際には のインスタンスを使用してNSNumberFormatterロケール対応の文字列を生成する必要があります。

于 2012-06-13T15:15:49.927 に答える