2012-06-13 33 views
0

我有一些與核心數據一起存儲的值,並且我打開了應用程序的sqlite數據庫以確保值正確存儲,但是當我嘗試顯示它們的值時全部時髦。我將核心數據實體中的值存儲在數組中,然後嘗試調用這些值。基本上我是新開發的客觀C和認爲我需要一些格式幫助。下面是代碼塊上輸出顯示時髦的數字:針對UILabels的字符串的核心數據值

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] 

沒有運氣。預先感謝您的幫助。

回答

0

爲什麼使用%e,%d等?如果要打印Objective-C對象,則需要使用格式說明符%@

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

但是,如果將此顯示數字,你實際上應該使用的NSNumberFormatter一個實例來生成區域識別字符串。

+0

謝謝你對哪個地方小數點後!你可能會給我一個nsnumberformatter行嗎?我使用%e,%E,因爲在一本obj c書中,我說它使用雙打(與%f,%g,%G一起)。謝謝邁克。 – BriOnH

0

您正在使用錯誤的說明符。嘗試使用

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

.02表明您想要