数字の桁数を揃えたい場合に、先頭に0を埋めて桁数を調整するときがよくあります。今日はそんな桁数の調整について考えていきます。9月5日記事
目次
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>
結果: 3を4桁で調整すると 0003 と 0003です。すぐ表示させたい時はprintfを使い、変数に代入したいなぁ~と思う場合はsprintfがいいと思います。