@REM 桁を指定して数値を丸める(四捨五入)
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
REM #h3
REM #hc文字を範囲選択してください
REM #k3桁ごとの区切文字 無指定= 1)|1)コンマ(L)|2)スペース(R)| /_/a
REM #k数値を丸める桁数(四捨五入) 無指定= 1)|1)無(L)|2)下1桁(R)|3)下2桁|4)下3桁| /_/b
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 00$.rb temp.txt %1 %2 > jwc_temp.txt
BEGIN{
puts "hd"
$kugiri="1"
$keta="1"
while ARGV.length > 1
case argument=ARGV.pop
when/^\/a/
$kugiri=argument[2..-1]
when/^\/b/
$keta=argument[2..-1]
end
end
}
def main
if $keta=="1";keta=1;elsif $keta=="2";keta=10;elsif $keta=="3";keta=100
elsif $keta=="4";keta=1000
end
hash={"0"=>"0","1"=>"1","2"=>"2","3"=>"3","4"=>"4",
"5"=>"5","6"=>"6","7"=>"7","8"=>"8","9"=>"9",
","=>",","\s"=>" ","\."=>"\."}
hash1=hash.invert
while ARGF.gets
xy =split
if xy[0] =="hq"
elsif xy[0] =~/^cs/ or xy[0] =~/^ch/
a=$_.split("\"")
tango1=a[1].chop
if tango1=~/./
tango2=$`+"\."+$'
else
tango2=tango1
end
tango2.tr!(" ,,","")
tango3=tango2.split('')
if tango3[0].size==1
tango=tango3
word=tango2
else
tango=tango3.collect{|item|hash1[item]}
word=tango.join('')
end
if word=~/^[0-9]/ && word=~/[0-9]$/ &&
tango.include?(nil)!=true
x=xy[1].to_f
y=xy[2].to_f
mojix=xy[3].to_f
mojiy=xy[4].to_f
word2=((((word.to_f)/keta).round)*keta).to_s
worda=word2.split('')
if tango3[0].size==1
if worda.size>3
if $kugiri=="1"
sunpou=comma(word2)
elsif $kugiri=="2"
sunpou=(comma(word2).gsub("\,","\s"))
end
else
sunpou=word2
end
else
if worda.size>3
if $kugiri=="1"
tango4=comma(word2).split('')
elsif $kugiri=="2"
tango4=((comma(word2)).gsub("\,","\s")).split('')
end
else
tango4=word2.split('')
end
tango5=tango4.collect{|item|hash[item]}
sunpou=tango5.join('')
end
printf("ch %s %s %s %s \"%s\n",
x,y,mojix,mojiy,sunpou)
else
print $_
end
else
print $_
end
end
end
def comma(s)
r = [/(\d\d\d)((?=\d))/,/(\d)(\d\d)/,/(\d\d)(\d)/] [s.size % 3]
s.gsub!(r,'\1,\2')
end
main