我不确定这里发生了什么。出于某种原因,NSString似乎不愿意加载双值d。
这是我的代码:
-(NSString*)minuteFormat:(double) d{
NSString* mystring;
if(d >= 10){
mystring = [NSString stringWithFormat:@"%d", d];
}else{
mystring = [NSString stringWithFormat:@"0%d",d];
}
return(mystring);
}
无论d的值如何,唯一返回的是0或00.(我确信d输入正确,因为我使用了断点来检查。)
有人能告诉我发生了什么事吗?
答案 0 :(得分:11)
%d
用于整数。你可能想要%f
。见String Format Specifiers
答案 1 :(得分:2)
%d
是十进制整数格式字符串。请尝试%lf
加倍。
答案 2 :(得分:0)
你应该像这样使用%f(双倍)
mystring = [NSString stringWithFormat:@“%f”,f];
或做一个值的类型转换。为此,您可以使用[yourString floatValue]