Я пытаюсь получить это текстовое поле в своем приложении для отображения в научной нотации после ввода 8 символов (вроде встроенного приложения калькулятора). У меня все работает правильно, за исключением случаев, когда оно должно отображаться в научной нотации, оно просто показывает «0.0».Как получить научную нотацию в текстовом поле?
Что не так с моим кодом?
NSString *current;
NSString *str = (NSString*)[sender currentTitle]; //sender is in the method header
if([current isEqualToString:@"0"]) {
current = str;
} else if (current.length < 8){
current = [current stringByAppendingString:str];
} else {
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterScientificStyle];
current = [formatter stringFromNumber:(NSNumber*)current];
}
Теперь, используя код, который вы мне дали, ничего не происходит после того, как 8 символов вставлено. –
Если вы выполните код с помощью отладчика, вы попадете в последний блок 'else'? – Sebastian
@coryginsberg: проверьте свои if-утверждения. Вероятно, вы должны проверить 'str', а не' current'. –