Ios 带区域设置和指数的NSNumber

Ios 带区域设置和指数的NSNumber,ios,decimal,nsnumber,nsnumberformatter,exponent,Ios,Decimal,Nsnumber,Nsnumberformatter,Exponent,我正在尝试在iOS中编程转换器 用户在文本字段中输入值,然后转换这些值 结果最终返回给用户 输出必须是有效的区域设置十进制格式 此外,输出必须以指数形式打印,这是可行的 问题:我需要指数形式和十进制形式 下面的代码解释了如何工作 //formatting NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setLocale:[NSLocale current

我正在尝试在iOS中编程转换器

用户在文本字段中输入值,然后转换这些值

结果最终返回给用户

输出必须是有效的区域设置十进制格式

此外,输出必须以指数形式打印,这是可行的

问题:我需要指数形式和十进制形式

下面的代码解释了如何工作

//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

有人有线索吗?

用你的格式化程序试试这个:
NSNumberFormatterScientificStyle