†REXXのどろぬま†

数値の3桁区切り

作成開始日 2021.12.11
最終更新日 2021.12.11

DIRコマンドなどが返すファイルサイズ情報は生の数値で、ぱっと見では桁数も判らず、実に不便である。こういうとき、3桁区切りで表示できると便利なのだが、REXXにも標準関数で該当するものがない。これは意外であった。まあ、処理は簡単ではあるが…
/*--------------------------------------------------------------------------*/
 SANKETA: procedure; /* 3桁区切り */
/*--------------------------------------------------------------------------*/
st=arg(1)

/* カンマの数を計算 */
leng=length(st)			/* 数値の桁数 */
nn  =leng % 3			/* 挿入するカンマの数 */
if leng//3=0 then nn=nn-1	/* 丁度3の倍数の桁数の時の補正 */

/* カンマを後から挿入 */
Do n=1 to nn
  st=insert(',',st,leng-n*3)
End

RETURN st
使い方は簡単で、引数に数値(文字列扱いでも可)を指定すれば良い。
say sanketa(1234567890)		/* 数値を指定 */
say sanketa('1234567890')	/* 文字列扱いで指定 */
いずれの場合も「1,234,567,890」と表示される


【REXXのどろぬま目次】 【ホーム】