Форматирование строки Голанга дает неожиданный интервал - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть строка кода, которая выглядит следующим образом:

fmt.Printf("Total Calories: %2.f (%2.f%%)\n", item.calorie.TotalCalories, item.calorie.TotalCalories/dailyCalorie*100)

Предполагается вывести:

Total Calories: 150 (5%)

Но вместо этого я получаю интервал между началом парантеза и числом 5, например:

Total Calories: 150 ( 5%)

Я не понимаю, где я ошибся.

1 Ответ

0 голосов
/ 30 апреля 2018

%2.f дает ширину по умолчанию 2. Вы можете попробовать просто %f.

Ширина указывается необязательным десятичным числом, непосредственно предшествующим глагол. Если отсутствует, ширина является тем, что необходимо представить Значение. Точность указывается после (необязательно) ширины период, за которым следует десятичное число. Если период отсутствует, используется точность по умолчанию. Точка без следующего номера указывает точность нуля. Примеры:

%f     default width, default precision
%9f    width 9, default precision
%.2f   default width, precision 2
%9.2f  width 9, precision 2
%9.f   width 9, precision 0

С документацией можно ознакомиться здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...