我的代码中有以下行,它以 6 个字符显示我的输出,并带有前导零。
$formatted_value = sprintf("%06d", $phpPartHrsMls);
我想用空格替换前导零。已尝试通过搜索本网站和其他网站找到的所有示例,但无法弄清楚。
以下是我尝试过的一些:
$formatted_value = sprintf("%6s", $phpPartHrsMls);
$formatted_value = printf("[%6s]\n", $phpPartHrsMls); // right-justification with spaces
在浏览器中,空格总是会被折叠。
尝试:
<pre><?php echo $formatted_value; ?></pre>
一旦您对此感到满意,请查看 CSS
white-space:pre-wrap
- 一个非常有用的属性!
这会将左侧与空格对齐:
$formatted_value = sprintf("%6s", $phpPartHrsMls);
echo "<pre>" . $formatted_value . "</pre>";
这将使右侧与空格对齐:
$formatted_value = sprintf("%-6s", $phpPartHrsMls);
echo "<pre>" . $formatted_value . "</pre>";
如果您只想打印六位数字,并删除其他数字:
$formatted_value = sprintf("%-6.6s", $phpPartHrsMls);
echo "<pre>" . $formatted_value . "</pre>";
还有一件事,浏览器通常会忽略空格,因此最好将输出包装在
<pre>
标签中。
将前导零更改为前导空格:
$formatted_value = sprintf("%' 6s", $phpPartHrsMls);
尝试str_pad。
str_pad($phpPartHrsMls, 6, " ", STR_PAD_LEFT);
您使用
%06d
请尝试更大的数字。
您的代码可以尝试如下所示:
printf('%20.2f', $phpPartHrsMls);
并且您可以使用
作为 html 上的空间。