アプリ版:「スタンプのみでお礼する」機能のリリースについて

10進数から16進数への変換自体は分かります。
$hex = sprintf("%lx",$decimal);
で出来るのですが、例えば、10進数の10を16進数の0x00000Aと常に6桁にして出力するにはどうすればよいでしょう?(先頭の0xは出力しなくてもいいです。)
手元のPerl辞典には、sprintfの形式指定で出来るとなっており、指定パラメータとしてm(最小幅)というのが載っているのですが、実際の使い方の用例が無く、色々試したのですが、上手く行きません。
どなたか詳しい方、ズバッとコマンド記述の実例を一行お願いいたします。

A 回答 (1件)

単純に


$hex=sprintf("%06X",$decimal);
フラグにて 0 数値の前を0で埋める。
      6 その桁数
      X 16進数(大文字)
では? 
    • good
    • 0
この回答へのお礼

おぉっ~!
そういうふうに記述するのでしたか。上手く行きました。有難うございます!
手元のPerlポケットリファレンスと言う本には、
『書式指定文字列には次のような形式があります。
%fm.nx
mとnは変換される文字列の幅の指定で、フラグfや型指定子xに依存します。』
とだけ書かれていて、ご存知の方には当たり前のことなのでしょうが、初心者にはさっぱりでした。
自分なりに色々やってダメだったのですが、そういう意味だったのですね・・・。

お礼日時:2009/06/02 10:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!