Golang字符串格式提供了意外的间距

时间:2018-04-30 20:07:21

标签: go

我有一行代码如下:

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

应该输出:

Total Calories: 150 (5%)

但相反,我在paranthesis的开头和数字5之间得到一个间距,如下所示:

Total Calories: 150 ( 5%)

我不明白我哪里出错了。

1 个答案:

答案 0 :(得分:5)

%2.f的默认宽度为2.您可以尝试%f

  

宽度由紧接在前的可选十进制数指定   动词。如果不存在,则宽度是表示必要的宽度   价值。精度在(可选)宽度后指定   句点后跟一个十进制数。如果没有句号,a   使用默认精度。没有以下编号的期间指定   精度为零。例子:

%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

您可以阅读文档here.