Отобразить значение с плавающей точкой в научной нотации

#objective-c #formatting #floating-point

#objective-c #форматирование #значение с плавающей запятой

Вопрос:

Следующее дает 6000:

 firstLabel.text = [[NSString alloc] initWithFormat:@"%f",(6*pow(10,3))];    
  

Как это можно сделать, чтобы отобразить число в научной нотации, например 6 x 10^3 или 6e3 ?

Ответ №1:

Комментарии:

1. На самом деле, вероятно %e , поскольку он хочет использовать нижний регистр e .

2. ах, да, палец все еще на сдвиге с ‘%’ 😉

Ответ №2:

Посмотрите на NSNumberFormatter и NSNumberFormatterScientificStyle.

 NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterScientificStyle];
NSString *formattedNumber = [formatter stringFromNumber:someNSNumber];
  

И да, освободите свой форматировщик.