【发布时间】:2012-03-26 22:13:38
【问题描述】:
我有一个类包含各种类型的数值。在这个类中,我有几个帮助方法,用于输出描述符文本以在我的应用程序中显示。
此描述符文本应始终显示为整数或浮点数,具体取决于特定实例的定义。
该类有一个属性DecimalWidth,我用它来确定要显示多少个小数。我需要帮助编写一行代码来显示数值,但小数位数是固定的,(0 是可能的,在这种情况下,值应该显示为整数。)
我知道我可以返回像 [NSString stringWithFormat:@"%.02f", self.Value] 这样的值,但我的问题是我需要将格式字符串中的“2”替换为 DecimalWidth 的值。
我可以想出几种方法来解决这个问题。我可以将一个字符串连接在一起,这就是输出字符串行的格式字符串。或者,我可以在格式字符串中创建一个格式字符串。
这些解决方案听起来很可怕,而且似乎效率很低,但也许这些是我拥有的最佳选择。
有没有一种优雅的方式来构造动态格式化字符串,其中输出是固定的十进制宽度数字但指定的十进制宽度是动态的?
【问题讨论】:
标签: objective-c cocoa-touch nsstring string-formatting