HOME > プログラミング > 文字列操作 > 指定文字列形式で表示

strf文字列操作 指定文字列形式で表示

 

値の書式を指定する
strf関数は値の書式をさまざまな形で返します。
例えば整数値を桁合わせ、ゼロ埋めなどができます。
返り値は文字列です。
strf("書式",書式の数だけのデータ...)

値データを様々な形で表示する
dim seisu : seisu = 3456
ddim jissu : jissu = 34.56
sdim moji : moji = "a"

//10進数
mes strf("%8d",seisu)	//・・・    3456(※1)
mes strf("%08d",seisu1)	//・・・00003456(※2)
mes strf("%02d",seisu)	//・・・3456(※3)

//16進数
mes strf("%8x",seisu)	//・・・     d80(※4)
mes strf("%08X",seisu)	//・・・00000D80(※5)

//小数
mes strf("%08.4f",jissu)	//・・・034.5600(※6)
mes strf("%8.1f",jissu)	//・・・    34.6(※7)

(※1)%8d:スペースで穴埋めした8桁の数字
(※2)%08d:0で穴埋めした8桁の数字
(※3)%02d:指定した2桁より大きい桁の場合は大きい桁に合わせられる
(※4)%8x:スペースで穴埋めした16進数表記をアルファベット小文字で8文字
(※5)%08x:0で穴埋めした16進数表記をアルファベット大文字で8文字
(※6)%08.4f:0埋めした小数点を含めて8文字かつ小数点は4位まで
(※7)%8.1f:スペース埋めした小数点を含めて8文字かつ小数点は1位まで
小数点の位を指定のとき、元々の小数点以下の位数が多い場合は、指定した位の次の位を四捨五入して表示されます。


文字列のフォーマットを定義する
文字列の結合をstrf関数内で行うことができます。
例えばエラー番号や記号番号などの書式を組み立てて文字列としてまとめることができます。

文字列をフォーマット通りに表示する
//日時のサンプル
mes strf("%04d-%02d-%02d",gettime(0),gettime(1),gettime(3))
mes strf("%02d:%02d:%02d",gettime(4),gettime(5),gettime(6))


//エラー履歴サンプル
sdim code1 : code1 = "HW"	//分野コード
dim code2 : code2 = 56	//問題を発報したソースコード
dim code3 : code3 = 01	//状態コード
dim desc : desc = "ENTRY JAM"	//エラー内容

mes strf("%s%02d%04d - %s",code1,code2,code3,desc)	//エラー表示の情報を文字列にまとめる


//ゲームメーターのサンプル
dim bet : bet = 123456	//ゲームに賭けた数
dim won : won = 98765	//ゲームで当たった数

mes strf("BET:%8d",bet)	//ゲームに賭けた数のメーター表示
mes strf("WON:%8d",won)	//ゲームで当たった数のメーター表示
mes strf("P/O:%7.02f%%",double(won) / double(bet))		//ペイアウト率
mes strf("H/G:%8d",bet - won)	//ハウスゲイン

当サイトコンテンツの複写・転載・引用は禁止しております。