格式化浮点数以显示在两位数的字符串中?

时间:2011-02-09 02:50:14

标签: iphone ios floating-point

NSString *timerend = [[NSString alloc] initWithFormat:@"%.0f:%.0f:%02d", hours, minutes, seconds];

所以我有这个字符串和一堆花车。例如,假设秒= 6.54。它将显示为。我希望它显示为06.54。反正有吗?非常感谢任何帮助。

2 个答案:

答案 0 :(得分:15)

假设您想要格式'XX:XX:XX.XX',您可以使用以下代码:

    NSString *timerend = [[NSString alloc] initWithFormat:@"%02.0f:%02.0f:%05.2f", hours, minutes, seconds];

格式化浮点数时,点(05)之前的数字确定整个字符串中的最小总字符数,而不仅仅是该点之前的位数。

答案 1 :(得分:0)

一种方法是让单独的 NSString 包含内容0,并将其附加到timerend。甚至可能还有其他更好的解决方案。

NSString *startTag = @"0";
// Your string variable. i.e., timerend

NSString *newTime = [startTag stringByAppendingString:timerend];

但是,只有在小时数小于10时才需要追加。