NSString не загружает двойное значение - PullRequest
1 голос
/ 16 февраля 2011

Я не уверен, что здесь происходит. По какой-то причине 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 ]

11 голосов
/ 16 февраля 2011

%d для целых чисел.Вы, вероятно, хотите %f.См. Спецификаторы формата строки

2 голосов
/ 16 февраля 2011

%d - строка десятичного целочисленного формата.Попробуйте %lf для двойного.

0 голосов
/ 17 февраля 2011

Вы должны использовать% f (double) следующим образом:

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

или выполнить типовое преобразование значения.Для этого вы можете использовать [yourString floatValue]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...