首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSString stringWithFormat问题

NSString stringWithFormat问题
EN

Stack Overflow用户
提问于 2010-04-24 02:10:19
回答 3查看 5.4K关注 0票数 4

我正在尝试使用NSString构建一个小表格。我似乎不能正确地格式化字符串。

这是我所拥有的

代码语言:javascript
复制
[NSString stringWithFormat:@"%8@: %.6f",e,v]

其中e是来自其他地方的浮点数,v是NSString。

我想要的是输出类似这样的内容:

代码语言:javascript
复制
Grapes:       20.3
Pomegranates:  2.5
Oranges:      15.1

我得到的是

代码语言:javascript
复制
Grapes:20.3
Pomegranates:2.5
Oranges:15.1

我怎样才能修复我的格式来做这样的事情呢?

EN

回答 3

Stack Overflow用户

发布于 2010-08-19 00:18:51

您可以尝试使用- stringByPaddingToLength:withString:startingAtIndex:

票数 6
EN

Stack Overflow用户

发布于 2011-01-27 14:04:41

NSNumberFormatter类是最好的选择!

示例:

代码语言:javascript
复制
NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];
[numFormatter setPaddingCharacter:@"0"];
[numFormatter setFormatWidth:2];
NSString *paddedString = [numFormatter stringFromNumber:[NSNumber numberWithInteger:integer]];
[numFormatter release];
票数 1
EN

Stack Overflow用户

发布于 2010-04-24 07:04:26

我想你想要像这样的

代码语言:javascript
复制
[NSString stringWithFormat:@"%-9@ %6.1f",[e stringByAppendingString:@":"],v]

由于您希望在浮点数前面进行填充,以使其适合列,但是如果NSString长于8,它将中断列。

%-8f左对齐9个字符宽度的列中的字符串(9宽,因为事先将:附加到字符串,这样做是为了使:位于字符串的末尾,而不是在填充空格之后);%6.1f右对齐6个字符的字段中的浮点数,并具有1个小数位。

编辑:另外,如果你像查看HTML一样查看输出(例如,通过某种web视图),这可能会将多个空间的任何实例减少到一个空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2700909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档