我對不變部分(即「Bonus Score:(+ 7%)」)和變化部分(例如「247,890」)有單獨的文本對象。由於它們是分開的,我想在不變的部分留出空間來顯示數字。如何在NSString中保留一定數量的空格?
我第一次嘗試是:
NSString* numberString = @"247,890";
NSString* blankScore = [@"" stringByPaddingToLength:[numberString length] withString: @" " startingAtIndex:0];
NSString* baseDisplay = [NSString stringWithFormat:@"BONUS SCORE: %@ (+7%%)", blankScore];
「blankScore」是正確的長度,但由此產生的baseDisplay似乎修剪周圍哪裏blankScore將是空間,使其成爲過小的空間,用於顯示數。
接下來,我嘗試創建blankScore的另一種方式:
NSString* blankScore = [numberString stringByReplacingCharactersInRange:NSMakeRange(0, [numberString length]) withString:@" "];
但這返回長度爲1
我是否正確理解這些的NSString方法的blankScore?我檢查了文檔,看起來我對這些方法的理解與寫在那裏的內容是一致的,但我仍然不明白爲什麼我無法讓baseDisplay具有正確數量的空格。
爲什麼不乾脆用' [NSString stringWithFormat:@「%8d」,score]'或者類似? – 2013-02-12 19:28:40
我想操縱顯示的分數和baseDisplay(圖形方式),所以我不想讓實際分數成爲baseDisplay的一部分,而是試圖找到一種方法來留下一定數量的空格。 – 2013-02-12 19:50:51
「這裏有一個格式說明符」...'「%* d」,numOfSpaces,score' – 2013-02-12 19:56:23