記事カテゴリ

ユーザー機能


 2024年4月26日(金) 10:14 JST

[Delphi] Format関数の困った仕様

  • 投稿者:
  • 表示回数
    28,781

Format 関数には困った仕様が…
Format 関数の仕様に幅指定子と精度指定子があって、フォーマットした際の文字列長を指定できる。

たとえば、下記の様に書くと「123」は、5桁に満たないので足りない分を頭から"0"で埋めて「00123」となる

Format('%.6d', [123]); { 123 -> 000123 }

しかし、下記のコードは…

Format('%.30d', [123]);

「000000000000000000000000000123」とはならず、「                           123」となる。
本来"0"で埋められるはずの部分がスペースで埋められる。

これは整数の処理にInteger型を利用しているためらしい…。
Format関数の説明に制限として書いておけよな…。

トラックバック

このエントリのトラックバックURL:
https://www.blackcat.xyz/trackback.php/ProgramingFAQ_del0075

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。

  • [Delphi] Format関数の困った仕様
  • 投稿者:ゲストユーザー on 2017年4月 5日(水) 14:53 JST
16桁までならいけます。14桁の足りない0は、stringで作っておいて、formatの結果を連結するしかないですね。