Objective c NSString未加载双精度值

Objective c NSString未加载双精度值,objective-c,nsstring,Objective C,Nsstring,我不知道这里发生了什么。出于某种原因,NSString似乎不愿意加载双精度值d 这是我的密码: -(NSString*)minuteFormat:(double) d{ NSString* mystring; if(d >= 10){ mystring = [NSString stringWithFormat:@"%d", d]; }else{ mystring = [NSString stringWithFormat:@"0%d",

我不知道这里发生了什么。出于某种原因,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输入正确,因为我使用了断点来检查


有人能告诉我发生了什么吗?

%d是十进制整数格式的字符串。尝试使用%lf表示双精度。

%d是十进制整数格式的字符串。尝试使用%lf表示双精度。

%d表示整数。您可能需要%f。请参见

%d表示整数。您可能需要%f。请参见

您应该像这样使用%f double

mystring=[NSString stringWithFormat:@%f,f]


或者对值进行类型转换。为此,您可以使用[yourString floatValue]

您应该像这样使用%f double

mystring=[NSString stringWithFormat:@%f,f]


或者对值进行类型转换。为此,您可以使用[yourString floatValue]

%d表示十进制整数。%d表示十进制整数。我现在觉得非常非常愚蠢。谢谢你的帮助!:我现在觉得自己真的很愚蠢。谢谢你的帮助!: