【发布时间】:2018-09-14 03:15:42
【问题描述】:
我正在处理一项作业,我必须左对齐我的输出文本。当我测试可能的程序时,我似乎无法让输出对齐。同样对于 GPA,如果我试图证明文本的合理性,我会丢失 2 个小数点精度。这是我的代码
#Calculating $semester_gpa
if($credits_taken == 0) {
exit();
}
my $total = $semester_gpa /= $credits_taken;
#Output formatting
printf ("The student name is: %-6s\n",$user_name);
printf ("Credits taken: %-6s\n", $credits_taken);
printf ("Credits passed: %-6s\n", $credits_passed);
printf ("GPA: %-6s %.2f\n", $total);
我到底做错了什么?
【问题讨论】:
-
看来您的代码是左对齐的。你能提供一个你希望输出看起来像什么的样本吗?
-
你确定要
/=吗? -
你的最后一个 printf 只得到一个变量
$total,因此它被格式化为%-6s-- 而%.2f什么也得不到。是不是忘了$total之前的另一个变量,还是应该没有%-6s?