NSString没有加载双值

时间:2011-02-16 20:27:00

标签: 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",d];
    }
    return(mystring);


}

无论d的值如何,唯一返回的是0或00.(我确信d输入正确,因为我使用了断点来检查。)

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

3 个答案:

答案 0 :(得分:11)

%d用于整数。你可能想要%f。见String Format Specifiers

答案 1 :(得分:2)

%d是十进制整数格式字符串。请尝试%lf加倍。

答案 2 :(得分:0)

你应该像这样使用%f(双倍)

mystring = [NSString stringWithFormat:@“%f”,f];

或做一个值的类型转换。为此,您可以使用[yourString floatValue]