#objective-c #formatting #floating-point
#objective-c #форматирование #значение с плавающей запятой
Вопрос:
Следующее дает 6000:
firstLabel.text = [[NSString alloc] initWithFormat:@"%f",(6*pow(10,3))];
Как это можно сделать, чтобы отобразить число в научной нотации, например 6 x 10^3
или 6e3
?
Ответ №1:
короче говоря, вы хотите %e.
Комментарии:
1. На самом деле, вероятно
%e
, поскольку он хочет использовать нижний регистрe
.2. ах, да, палец все еще на сдвиге с ‘%’ 😉
Ответ №2:
Посмотрите на NSNumberFormatter и NSNumberFormatterScientificStyle.
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterScientificStyle];
NSString *formattedNumber = [formatter stringFromNumber:someNSNumber];
И да, освободите свой форматировщик.