stringWitFormat с использованием нулевого значения с плавающей запятой

#ios #nsstring #stringwithformat

#iOS #nsstring #stringwithformat

Вопрос:

 double knots = currentLocation.speed*1.943844492;
NSString *speed = [NSString stringWithFormat:@".1f", knots];
  

В результате получается обычная одинарная десятичная строка с плавающей запятой без начальных нулей.
Цель состоит в том, чтобы получить максимум 3 начальные цифры и один десятичный знак.

Ответ №1:

3 — это общая длина, включающая десятичную точку и десятичную цифру. Измените 3 на 5 , и вы должны получить то, что хотите:

 NSString *speed = [NSString stringWithFormat:@".1f", knots];
  

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

1. Спасибо, rmaddy! Намного тоньше, чем при использовании NSNumberFormatter!

2. Вы должны использовать NSNumberFormatter так, чтобы значение выглядело подходящим для пользователя в зависимости от его локали.