在 Perl 中,我想用 2 個前導零和兩個小數位格式化一個值。例如
00.41
使用這樣的東西不起作用:
$dist = sprintf ("%2.2f", $dist);
什么是正確的格式?
uj5u.com熱心網友回復:
可以強制整個字串有一定的寬度,并告訴它用零填充。這會起作用,因為您想要固定(兩位)小數位
my $str = sprintf ".2f", $num;
如果數字最終大于此寬度(123.45, 六個位置),您仍然會看到整數。
如果數字確實可以更大,您可以先計算出所需的寬度,如果您總是需要兩個額外的前導零。
或者,因為無論如何這將是一個字串,所以只需0在格式化數字后添加一個
my $str = '0' . sprintf "%.2f", $num;
或者,真的,只是
my $str = sprintf "0%.2f", $num;
如果需要添加兩個零,請使用'00'. 這就是它的唯一優勢sprintf "%0${wd}.2f(您可以計算出所需的寬度$wd,或者如果總是這樣的話,就讓它成為一個平面5)——您可以隨心所欲地打出盡可能多的零。
請注意,如果您對它進行任何數字處理,那么額外的前導零將會消失。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/513180.html
標籤:perl打印
上一篇:將排序功能移動到包時未初始化的值
