如何用前面的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填充整数?的主要内容,如果未能解决你的问题,请参考以下文章

如何用当前年份填充 chrono::year?

如何用'0'填充日期时间字符串以在熊猫中正确排序

调用重采样后如何用值0填充na()?

python如何用零填充numpy数组

如何用绑定集合的索引填充组合框?

如何用存储过程填充表中的所有空值