※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

数字の桁数を揃えたい場合に、先頭に0を埋めて桁数を調整するときがよくあります。今日はそんな桁数の調整について考えていきます。9月5日記事

目次





sprintfとprintf

printfの方はそのまま出力することが可能なのに対して、sprintfは一度変数に代入しなければなりません。

文法

先頭を0で埋めて、4桁で調整する場合

sprintf("%04d",$num);
printf("%04d",$num);



コード

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>先頭を0で埋める関数</title>
</head>
<body>
<form action="confirm.php" method="post">
<label>数値入力</label>
<input type="text" name="num">
<label>桁数</label>
<input type="text" name="digit">
<input type="submit" name="submit">
</form>

</body>
</html>

送り先

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>先頭を0で埋める関数</title>
</head>
<body>
<?php
$num = $_POST["num"];
$digit = $_POST["digit"];

print $num."を".$digit."桁で調整すると<br><br>";
//printf("%04d",$num);が標準形
printf("%0".$digit."d",$num);
print "<br>と<br>";//printfとprintは違う。
//別表記

//sprintf("%04d",$num);が標準形
$hoge = sprintf("%0".$digit."d",$num);
print $hoge."です。";

?>
</body>
</html>



実行結果

  1. 数字3桁数4と入力
    結果:
    3を4桁で調整すると
    
    0003
    と
    0003です。
    
    すぐ表示させたい時はprintfを使い、変数に代入したいなぁ~と思う場合はsprintfがいいと思います。
    他にも二進数8桁表記の場合、printf("%08b",$num);とすれば、二進数の8桁表記が可能になります。

    以上。