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

你为什么使用%e%d?如果要打印出 Objective-C 对象,则需要使用%@格式说明符,例如

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

但是,如果您要显示数字,则实际上应该使用 的实例NSNumberFormatter来生成可识别区域设置的字符串。

于 2012-06-13T15:15:49.927 回答
0

您使用了错误的说明符。尝试使用

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

.02表示您想要的小数点后的哪个位置

于 2012-06-13T15:30:06.287 回答