strf

書式付き文字列を変換

val = strf("format",p1...)

"format" : 書式指定文字列
p1       : 書式指定パラメーター

解説

整数または実数値を適切な書式で文字列に変換した文字列を返します。
"format"で、以下のような書式指定文字列を指定します。

例 :
	a=123
	mes strf("10進[%d]",a)
	mes strf("16進[%x]",a)
	mes strf("10進桁数指定付き[%05d]",a)
	mes strf("16進桁数指定付き[%05x]",a)
	a=sqrt(2)
	mes strf("10進実数[%f]",a)
	mes strf("10進実数桁数指定付き[%3.10f]",a)

p1以降で指定したパラメーターを示す部分には、「%」に続く指定を行ないます。
「%d」は整数値を、「%x」は16進整数値を、「%c」は文字コード、「%f」は実数値をそれぞれ表示させることができます。
複数のパラメーターを書式で指定した場合は、その数だけ「,」で区切ってパラメーターを続けて記述してください。

例 :
	a=1:b=2.0:c="ABC"
	mes strf("[%03d] [%f] [%s]",a,b,c)

書式指定文字列は、Cランタイムライブラリがサポートしているsprintfの書式とほぼ同様です。

	%[width][.precision][I64]type

	width : 出力する最小文字数
	precision : 出力する最大文字数
	            (typeがfの場合は小数点以下の桁数)
	I64   : 64bit値を示すプレフィックス
	type  : 入力されるパラメーターの型

のような形式となり、[]内の記述は省略することが可能です。
typeで指定可能な文字は以下の通りです。

	文字           内容
	---------------------------------------------
	  c     1バイト文字コード
	  d	符号付き 10 進整数
	  i	符号付き 10 進整数
	  u	符号なし 10 進整数
	  o	符号なし 8 進整数
	  x	符号なし 16 進整数(小文字)
	  X	符号なし 16 進整数(大文字)
	  e	[sign]dd[d] 形式の符号付きの実数値
	  E	[sign]dd[d] 形式の符号付きの実数値(大文字)
	  f	dddd.dddd 形式の符号付きの実数値
		(整数部の桁数は、その数値の絶対値によって決定され、
		 小数部の桁数は要求される精度によって決定されます。)
	  g	書式fまたはeで出力される符号付きの値のうち、
		指定された値および精度を表現できる短い方の書式
	  G	書式Gと同様で大文字を使用する
	  p	16進数の引数が指すアドレスを出力します
	  s	文字列

書式指定文字列は、1023文字までの文字列のみ認識されますので注意してください。

関連項目

mesメッセージ表示
printメッセージ表示

サンプル逆引き (10)

base64test.hsp
cnt.hsp
hidmon_test1.hsp
libptr.hsp
multitouch1.hsp
ntmem.hsp
str.hsp
strf.hsp
usbiotest.hsp
xsample_Astro.hsp

情報

バージョン3.31
作成日2012/05/29
著作者onitama
URLhttp://hsp.tv/
備考ver3.31標準命令
タイプ内蔵命令
グループ文字列操作関数
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
  • HSPLet
hs ファイルhsphelp\i_string.hs