|
秀丸エディタの浮動小数点数バージョンを使えば小数点以下の計算も可能です。
それか、通常版でやるとしたら、小数点付き数値文字列を1万倍した数値に変
換する関数を作って、1万倍した値で計算させる作戦も可能です。
1万倍した整数で計算するサンプルマクロ:
$num = "1.2345";
message $num + " - 0.0300 = ";
call ConvFloatStr2Num $num;
#num = ##return;
#num = #num - 0300;
call ConvFloatNum2Str #num;
$num = $$return;
message $num;
endmacro;
ConvFloatStr2Num:
##x = strstr( $$1, "." );
if( ##x >= 0 ) {
##n1 = val( leftstr( $$1, ##x ) );
$$n2 = midstr( $$1, ##x + 1, 4 );
$$n2 = $$n2 + leftstr( "00000", 4 - strlen($$n2) );
##n2 = val( $$n2 );
} else {
##n1 = val( $$1 );
##n2 = 0;
}
if( ##n1 < 0 ) {
##n2 = - ##n2;
}
return ##n1 * 10000 + ##n2;
ConvFloatNum2Str:
if( ##1 % 10000 == 0 ) {
return str( ##1 / 10000 );
}
$$n2 = str( ##1 % 10000 );
$$n2 = leftstr( "00000", 4 - strlen($$n2) ) + $$n2;
$$n1 = str( ##1 / 10000 );
return $$n1 + "." + $$n2;
|
|