ゼロパディング 【zero padding】 前ゼロ / ゼロ埋め / ゼロサプライ
概要
ゼロパディング(zero padding)とは、数値を文字として表現・表示する際に、指定された桁数に足りない分だけ左右に「0」を追加する処理のこと。決まった長さ(固定長)の文字列に変換したいときに行われる。コンピュータで数値を表記する際に、数値としての位取りや有効数字とは無関係に、見た目やデータ形式の都合上、決まった桁数で表記しなければならない場合がある。その際、必要な数だけ「0」を左端あるいは右端に付け加える処理をゼロパディングという。
例えば、「12」という整数を4桁の領域に収める場合、先頭に0を2つ付け加えて「0012」とする。小数の場合は、「12.34」を7桁で表す際に「12.3400」とするなど、右端に0を追加することもある。
ゼロサプレスとの違い
これとは逆に、「0012」を「12」にするといったように、先頭あるいは末尾の余分な「0」を削除したり空白で置き換え、数値としての本来の表記に戻す処理のことは「ゼロサプレス」(zero suppress)という。ゼロパディングと意味を取り違えやすいので注意が必要である。
8進表記
プログラミング言語の中には、JavaScriptのように「先頭が0の表記は8進数とみなす」といった仕様が存在する場合があり、ゼロパディングされた文字列を数値に変換しようとすると予期しない結果となる場合がある。
例えば、文字列を整数に変換する関数を用いて parseInt("0012") のようにすると、結果が「12」ではなく「10」(81×1+80×2)になってしまう。そのような場合、基数の指定が可能であれば parseInt("0012",10) のように10進数であることを明示し、指定できない場合は事前にゼロサプレス処理を行って先頭の0を取り除いてから変換する必要がある。
(2024.2.6更新)