问题描述
- UILabel的测试格式问题
-
在项目中有UILabel,想要显示特定形式的的labeltext:input: 10 100 1000 2345565 output:00010.0 00100.0 01000.0 2345565.0
应该怎么实现?
解决方案
我这里有一个在数前面补0的一个方法
+(NSString *)pad:(int)num length:(int) n {
NSString *str=[NSString stringWithFormat:@"%d",num];
int len=str.length;
while (len++<n) {
str=[NSString stringWithFormat:@"0%@",str];
}
return str;
}
其中参数n 代表了补0后的总长度
如 10 -> 00010
NSLog(@"convert result:%@",[Utils pad:10 length:5]);
解决方案二:
运行下面段代码 就会懂
double input[] = {10, 100, 1000, 2345565};
for (int i = 0; i < 4; i++) {
//%07.1f中 “7”表示整数部分至少5位(7-小数1位-小数点一位)不够的话用前导0填充,“。1”表示精确到小数点后1位
NSLog(@"%07.1f", input[i]);
}
结果
2013-05-07 22:24:55.460 00010.0
2013-05-07 22:24:55.462 00100.0
2013-05-07 22:24:55.463 01000.0
2013-05-07 22:24:55.463 2345565.0
解决方案三:
也可以这样试试看
如果n的值超出5位数,返回的值相同。如果不是,就在值前边补0
int n=100000000;//here pass the n value what ever you want.
NSString *lblText = [NSString stringWithFormat:@"%05d.0", n];
yourLabel.text=lblText;
输出:
10 00010.0
456 00456.0
123456 123456.0
时间: 2024-09-24 04:30:36