2012-05-07 1 views
1

Я пытаюсь запрограммировать конвертер в iOS.NSNumber с языком и экспонентом

Пользователь вводит значения в текстовые поля, а значения преобразуются.

Результаты, наконец, возвращаются пользователю.

Результат должен быть в десятичном формате локали, который работает.

Кроме того, выход должен быть напечатан в экспоненциальной форме, которая работает.

Проблема: мне нужна как форма экспоненты, так и десятичная форма.

В следующем коде объясняется, что работает.

//formatting 

     NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
     [formatter setLocale:[NSLocale currentLocale]]; 
     [formatter setNumberStyle: NSNumberFormatterDecimalStyle]; 

//formattiing 

     float myFloat=0.01; 
     NSNumber *myNumber =[[NSNumber alloc]initWithFloat:myFloat]; 
     NSString *myString =[formatter stringFromNumber:myNumber]; 


     NSLog(@"Locale: %@", formatter.locale.localeIdentifier); 
     NSLog(@"myFloat = %g", myFloat); 
     NSLog(@"myNumber = %.2e",[myNumber floatValue]); 
     NSLog(@"myString = %@", myString); 

//output 
Locale: nb_NO 
myFloat = 0.01 
myNumber = 1.00e-02 
myString = 0,01 

Что НЕ работает. Мне нужен показатель экспоненты и десятичной дроби в одном!

Я хочу, чтобы этот вывод:

myString = 1,00e-2 

Кто-нибудь есть ключ?

ответ

3

Попробуйте следующее: NSNumberFormatterScientificStyle