如何用前面的0填充整数?
Posted
技术标签:
【中文标题】如何用前面的0填充整数?【英文标题】:How to pad the integer withe preceeding 0? 【发布时间】:2011-04-06 08:58:41 【问题描述】:我有一个像 6 或 65 这样的整数值。如果该值是个位数,我想像 06 一样显示它,如果它是 65 则按原样显示(仅限 65)。我已经搜索了 iphone 的 NSNumberFormatter 类,但没有得到确切的操作。任何人都可以帮助我吗?
提前致谢!!
【问题讨论】:
【参考方案1】:使用 %02d 格式说明符,例如
NSLog(@"%02d", number);
这将输出长度至少为 2 个字符的整数,如果需要,输出将用前导零填充
【讨论】:
当你有一个 NSInteger/NSUInteger 时,我试图找到正确的类似方式。我通常用 [NSNumber numberWithInteger:myInteger] 来表示整数,然后用 @"%@" 打印,但是没有办法指定宽度。 @Jonny,使用 NS(U)Integer,您可以使用与实践中完全相同的格式说明符,即相同的普通 int(或 unsigned int)。没有理由在这里使用 NSNumber 来获取字符串表示 好的。我在 Apple 的文档中发现他们建议将 NSIntegers 转换为 long,然后使用 %ld (如果我没记错的话)。我使用 %02ld 来获得宽度 2 等。所以是的,我不再使用 NSNumber。【参考方案2】:要按照 Vladimir 的建议使用格式说明符,您还可以使用 NSString
上的 stringWithFormat
便捷方法从所需格式的数值生成字符串。
【讨论】:
感谢 ShaggyFrog 将链接添加到文档。【参考方案3】:这是另一种选择,虽然我认为弗拉基米尔的可能是最干净的。 :)
NSLog(@"%@%d", number<10?@"0":@"", number);
【讨论】:
我是三元运算符的粉丝,但在这种情况下,不。你在这里重新发明***。以上是关于如何用前面的0填充整数?的主要内容,如果未能解决你的问题,请参考以下文章