|
スーパーTさん,
>これを
>34.96633889/137.1024556 のように
>10進表記に変換したいのですが
>良い方法はございますか?
この種の数字の扱いはあまり得意ではありませんが,とりあえず次のマクロを
お試しください。多分もっとスマートな方法があると思います。
なおこのマクロは浮動小数点数版が必要です。
//----------------------------------------------------------//
setfloatmode 1;
disabledraw;
gofiletop;
while( #i < linecount ) {
$s = gettext( 0, y, linelen, y );
if( $s == "" ) break;
$a = leftstr( $s, strstr( $s, "N" ) );
call 60to10 $a;
$aa = $$return;
$c = midstr( $s, strstr( $s, "/" ) + 1, 99 );
$c = leftstr( $c, strlen($c) - 1 );
call 60to10 $c;
$decimal[#i] = $aa + "/" + $$return;
#i = #i + 1;
moveto 0, y + 1;
}
newfile;
while( #j < #i ) {
insert $decimal[#j] + "\n";
#j = #j + 1;
}
endmacro;
60to10:
$$a = leftstr( $$1, strlen( $$1 ) - 7 );
$$b = midstr( $$1, strlen( $$1 ) - 7, 2 );
$$c = rightstr( $$1, 5 );
##d = ( val( $$b ) *60 + val( $$c ) ) / 3600 + 0.00000005;
$$e = $$a + midstr( str( ##d ) , 1, 8 );
return $$e;
//----------------------------------------------------------//
では, (^^)/~
山紫水明(ユーザー)
SANSHISUIMEI
|
|