Строка для удвоения - PullRequest
       21

Строка для удвоения

3 голосов
/ 26 сентября 2011

Я надеюсь, что вы можете помочь мне с этой «маленькой» проблемой. Я хочу преобразовать строку в двойное число / число с плавающей запятой.

NSString *stringValue = @"1235";
priceLabel.text = [NSString stringWithFormat:@"%d",[stringValue doubleValue]/(double)100.00];

Я надеялся, что это установит priceLabel равным 12,35, но я получаю странную длинную строку, ничего не значащую для меня.

Я пробовал:

priceLabel.text = [NSString stringWithFormat:@"%d",[stringValue intValue]/(double)100.00];

priceLabel.text = [NSString stringWithFormat:@"%d",[stringValue doubleValue]/100];

но все безуспешно.

Ответы [ 3 ]

14 голосов
/ 26 сентября 2011

Это как конвертировать NSString в double

double myDouble = [myString doubleValue];
13 голосов
/ 26 сентября 2011

Вы должны использовать% f, чтобы показать значение с плавающей запятой / double.

затем %. 2f означает 2 цифры после точки

NSString *stringValue = @"1235";

NSString *str = [NSString stringWithFormat:@"%.2f",[stringValue doubleValue]/(double)100.00];

NSLog(@"str : %@ \n\n",s);

priceLabel.text = str;

OUTPUT:

стр .: 12,35

1 голос
/ 26 сентября 2011

Я думаю, у вас неправильная строка формата.Где у вас есть:

[NSString stringWithFormat:@"%d", ...];

В действительности вы должны иметь:

[NSString stringWithFormat:@"%f", ...];

%d используется для целочисленных значений.Но вы пытаетесь отобразить число с плавающей запятой (%f).

...