数字字符串填充帮助

5

我正在尝试通过在数字左侧填充零来生成数字字符串。

0 将变成 00000 1 将变成 00001 10 将变成 00010

我想通过填充零来创建五个字符的 NSString

我阅读了这篇文章 通过重复另一个字符串创建指定数量的NSString,但输出结果是一个 NSMutableString

如何实现此算法以输出 NSString

最好的问候。

2个回答

9
您可以通过调用以下方法实现此操作:
[NSString stringWithFormat:@"%05d", [theNumber intValue]];

您需要翻译的内容如下:

其中theNumber是包含要格式化的数字的NSString

如需进一步了解,您可以参考苹果字符串格式化指南维基百科printf条目


3
应该使用@"%05d"而不是"%5d" - hoha
哎呀!谢谢,我觉得我现在应该能记住这样的事情。 - jonmorgan
我有一个NSString而不是整数,它是@"10"或@"1"。 - Ali
“5d” 前面还缺少一个 “0” - 如果没有这个数字,这个表达式对 OP 来说就没什么用了 ;). 无论如何,他想从字符串中获取它,而不是从数字中获取。 - hoha
@Ali,我已经将它编辑为使用NSString而不是int。@hoha,再次感谢。 - jonmorgan

0

一种快速简单的方法:

unsigned int num = 10;  // example value
NSString *immutable = [NSString stringWithFormat:@"%.5u", num];

如果你真的想使用你读到的冗长方法,你可以向可变字符串发送一个“copy”消息来获取不可变的副本。这适用于所有可变类型。


我有一个NSString而不是整数,它是@"10"或@"1"。 - Ali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接