Так же, как название: как я могу изменить строку @ «$ 123,4» в значение флоат 123,4 в прошивкой
NSString *string = @"$123.4";
Любая помощь будет оценена. Спасибо заранее.
Giki
Так же, как название: как я могу изменить строку @ «$ 123,4» в значение флоат 123,4 в прошивкой
NSString *string = @"$123.4";
Любая помощь будет оценена. Спасибо заранее.
Giki
Как видно с @ H2C03
float price = [[string substringFromIndex:1] floatValue];
Надеется, что это помогает!
@ H2CO3 умный ответ, но я пробовал это последнее.
NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterCurrencyStyle;
formatter.currencyCode = @"USD";
float value = [[formatter numberFromString: @"$123.45"] floatValue];
NSLog(@"%f",value);
это работает хорошо, но @ user2277872 трюк не удастся, если в индексе нет или нет 0 (например, NSString * string = @ "$ 123.4";) так +1 к вам бит-биткер – Suryakant
@SuryakantSharma Исправлено, 1 пробел может изменить результат. – Buntylm
@SuryakantSharma, я не давал ответа, я передавал ответ из комментария в вопросе, потому что это был хороший ответ. – user2277872
'float price = [[string substringFromIndex: 1] floatValue];'. Кроме того, почему тег 'NSScanner'? –
Альтернатива для управляющих памятью: 'float price = strtof (string.UTF8String + 1, NULL);' –
@ H2CO3 благодарит много. – Giki