iOSでコンバーターをプログラムしようとしています。
ユーザーがテキストフィールドに値を入力すると、値が変換されます。
結果は最終的にユーザーに返されます。
出力は、ロケールの10進形式である必要があります。これは機能します。
また、出力は指数形式で印刷する必要があります。これは機能します。
問題:指数形式と小数形式の両方が必要です。
次のコードは、何が機能するかを説明しています。
//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
何が機能しないのか。指数とdecimalformatterが1つに必要です!
この出力が欲しい:
myString = 1,00e-2
誰かが手がかりを得ましたか?