|
>こんばんわ。tatsです。三回目の書き込みとなりました。
>だいぶマクロ造りも楽しくなって参りました。そこで、
>以下の様なマクロを作成致して見ました。
>変数$numに対し3桁毎にカンマ区切りに致します。一応
>完成はしたのですが、なんか納得が行きません。
>もし宜しければ、アドバイス又はこんなマクロも
>出来ます・ありますよとお声を頂きたいのですが、
>可能でしょうか?
思いつきであまりスマートじゃないんですが参考までに
その1は先頭の数字のみ対象(10桁ぐらいまでのみ)
その2はなにがなんでも3桁でカンマをいれる(全角が混じると...)
--------
//--その1---
$num = input("NUM=","125412000");
#num = val($num);
#mod = #num % 1000;
#num = #num / 1000;
$cmm = "";
while( true ){
if( $cmm != "" ) $cmm = "," + $cmm;
$cmm = str(#mod) + $cmm;
if( #num == 0 ){
break;
} else {
if( strlen( str(#mod) ) == 1 ) $cmm = "00" + $cmm;
if( strlen( str(#mod) ) == 2 ) $cmm = "0" + $cmm;
}
#mod = #num % 1000;
#num = #num / 1000;
}
message $cmm;
//--その2---
$num = input("NUM=","125412000");
#numlen = strlen($num);
#cutsiz = #numlen % 3;
if(#cutsiz == 0)#cutsiz = 3;
$cmm = leftstr($num, #cutsiz );
#cutpos = #cutsiz;
#cutsiz = 3;
while( true ){
$cut = midstr( $num, #cutpos, #cutsiz );
if( $cut=="" ) break;
$cmm = $cmm + "," + $cut;
#cutpos = #cutpos + #cutsiz;
}
message $cmm;
|
|