Как вы форматируете значения с плавающей запятой в строки в Swift 5?

#swift #string #floating-point #format

#swift #строка #значение с плавающей запятой #форматировать

Вопрос:

Я пытаюсь отформатировать значение с плавающей точкой в строку с заданным количеством цифр. Во всех примерах, которые я видел, используется что-то вроде этого:

 let thisString = String(format: "%2.4f" , 3.14159262)
  

Однако, когда я пытаюсь это сделать, я получаю:

Метки аргументов ‘(format:, _:)’ не соответствуют никаким доступным перегрузкам

. Как будто он даже не распознает «формат» как допустимый способ инициализации строки. Я использую Swift 5 в Xcode 10.2 в Mojave, если это имеет значение. Я упускаю какую-то структуру или что-то в этомроде? Изменился ли инициализатор?

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

1. Что не так с NumberFormatter ?

2. не забудьте import Foundation

Ответ №1:

Ваш код должен работать правильно. Не могли бы вы, пожалуйста, попробовать следующее:

 import Foundation

let firstString = String(format: "%2.4f", arguments: [3.14159262])
print(firstString)
let secondString = String(format: "%2.4f", 3.14159262)
print(secondString)
  

У меня этот код отлично работает на игровой площадке с использованием Swift 5.

Удаление импорта Foundation выдает ту же ошибку, которую вы описали в своем вопросе.

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

1. Да, мне не хватало Foundation. Спасибо! Я новичок во всем этом, мне еще не приходилось использовать что-либо из Foundation