#!/usr/bin/perl # ******** 日時表示 ******** sub st_dateform{ ($cur_sec,$cur_min,$cur_hour,$mday,$month,$cur_year,$wday,$yday,$isdt)=gmtime(time+9*60*60); @wk=("日","月","火","水","木","金","土"); if($cur_year<1900){$cur_year=$cur_year+1900;} $cur_mon = $month+1; $cur_day = $mday; $cur_week = $wk[$wday]; $cur_time = time; # 100 if($cur_mon < 10){$cur_mon="0".$cur_mon;} if($cur_day < 10){$cur_day="0".$cur_day;} if($cur_hour < 10){$cur_hour="0".$cur_hour;} if($cur_min < 10){$cur_min="0".$cur_min;} if($cur_sec < 10){$cur_sec="0".$cur_sec;} $date_day=$cur_year."-".$cur_mon."-".$cur_day; $date_min=$cur_year."-".$cur_mon."-".$cur_day."/".$cur_hour.":".$cur_min; $date_sec=$cur_year."-".$cur_mon."-".$cur_day."/".$cur_hour.":".$cur_min.":".$cur_sec; } # ******** 年月日表示変更 ******** sub st_datejpn{ my ($date_fig) = @_; #print "DEBUG 00021 - $date_fig
\n"; my $year_jpn = substr($date_fig,0,4); my $mon_jpn = substr($date_fig,5,2); $mon_jpn = $mon_jpn+0; my $day_jpn = substr($date_fig,8,2); $day_jpn = $day_jpn+0; $year_jpn = $year_jpn - 1988; $date_jpn = "平成 ".$year_jpn." 年 ".$mon_jpn." 月 ".$day_jpn." 日"; #print "DEBUG 00022 - $date_jpn
\n"; return($date_jpn); } # ******** 数値整形(コンマ) 新 ******* sub st_commaform{ my ($fig_val) = @_; $fig_val =~ s/\./
/g; (my $int_val,my $dcml_val)=split("
",$fig_val); my $length1 = length($int_val); my $comma1 = int(($length1-1)/3); my $int_str = substr($int_val,0,$length1-$comma1*3); if($comma1>=1){ for(my $g=0;$g<$comma1;$g++){ my $pos1=$length1-($comma1-$g)*3; $int_str=$int_str.",".substr($int_val,$pos1,3); } } $fig_str=$int_str.".".$dcml_val; return($fig_str); } # ******** 数値整形(切り上げ、四捨五入、切り捨て) ******** sub st_dcmlform{ my ($dcml_dgt,$dcml_adj,$dcml_val) = @_; #print "DEBUG 00g-51 $dcml_adj - $dcml_dgt - $dcml_val
\n"; my $dcml_k=10**$dcml_dgt; #print "DEBUG 00g-52 $dcml_adj - $dcml_dgt - $dcml_val - $dcml_k
\n"; my $dcml_val2=$dcml_val*$dcml_k; if($dcml_adj eq "up"){$dcml_val2 = int($dcml_val2+0.999999999);} elsif($dcml_adj eq "dn"){$dcml_val2 = int($dcml_val2);} else{$dcml_val2 = int($dcml_val2+0.5);} $dcml_str=$dcml_val2/$dcml_k; #print "DEBUG 00g-53 $dcml_adj - $dcml_val - $dcml_str - $dcml_dgt
\n"; if($dcml_dgt > 0){ if(abs(int($dcml_str)-$dcml_str)<0.000000001){ $dcml_str=$dcml_str."."; } $dcml_val2="".$dcml_val2; $dcml_str="".$dcml_str; my $g_len1=length($dcml_val2); my $g_len2=length($dcml_str); my $g_dif = $g_len1 + 1 - $g_len2; if($dcml_val < 1){ $dcml_dgt = $dcml_dgt + 0; $g_dif = $dcml_dgt + 2 - $g_len2; } #print "DEBUG 00g-54 $dcml_val - $dcml_str - $g_len2 - $dcml_dgt - $g_dif - AAA
\n"; for(my $g=1;$g<=$g_dif;$g++){ # 160 $dcml_str=$dcml_str."0"; } } #print "DEBUG 00g-55 $dcml_val - $dcml_str - $g_len2 - $dcml_dgt - $g_dif - AAA
\n"; return($dcml_str); } # ******** 数値整形(桁数揃え、コード用ほか) ******** sub st_nmbrform{ my ($nmbr_dgt, $nmbr_mark, $nmbr_val) = @_; $nmbr_str=""; for(my $g=1;$g<=$nmbr_dgt;$g++) {$nmbr_str=$nmbr_str.$nmbr_mark;} $nmbr_val="".$nmbr_val; my $len=length($nmbr_val); if($nmbr_dgt<$len){ $errmsg = "指定の桁数が数値の桁数より小です。\n"; $errref2 = "操作エラー:".$prjcode0." - ".$work." - ".$prgname." - cg_00st30x - st_nmbrform"; &io_errexit($errmsg,$errref2,$g_manager); } else{ substr($nmbr_str,$nmbr_dgt-$len,$len)=$nmbr_val; #print "DEBUG 00g-65 $nmbr_val - $nmbr_str
\n"; return($nmbr_str); } } # ******** 文字列整形(桁数揃え、コード用ほか) ******** sub st_strform{ my ($fixlen,$mark,$pos1,$string0) = @_; $string0 =~ s/ //g; $string1=""; for(my $g=0;$g<$fixlen;$g++) {$string1=$string1.$mark;} my $len=length($string0); if($fixlen<$len){ $errmsg = "指定の桁数が文字列の桁数より小です。\n"; $errref2 = "操作エラー:".$prjcode0." - ".$work." - ".$prgname." - cg_00st30x - st_strform"; &io_errexit($errmsg,$errref2,$g_manager); } else{ if($pos1 eq "head"){substr($string1,$fixlen-$len,$len) = $string0;} else{substr($string1,0,$len) = $string0;} return($string1); } } # ******** 乱数コード(大小英字・数字) ******** sub st_rndmform{ my ($rndm_dgt) = @_; my $rndm_k=10**$rndm_dgt; my $g_chk="A"; do{ $rndm_str = rand; $rndm_str = int($rndm_str * $rndm_k); ($cur_sec,$cur_min,$cur_hour,$mday,$month,$cur_year,$wday,$yday,$isdt)=gmtime(time+9*60*60); $rndm_str = crypt($rndm_str,$cur_sec); $rndm_str = substr($rndm_str,0,$rndm_dgt); if($rndm_str =~ /[0-9a-zA-Z]{$rndm_dgt,}/){$g_chk="0";} }while($g_chk eq "A"); return($rndm_str); } sub st_hankakuform{ my($msg) = @_; $msg =~ s/0/0/g; $msg =~ s/1/1/g; $msg =~ s/2/2/g; $msg =~ s/3/3/g; $msg =~ s/4/4/g; $msg =~ s/5/5/g; $msg =~ s/6/6/g; $msg =~ s/7/7/g; $msg =~ s/8/8/g; $msg =~ s/9/9/g; $msg =~ s/A/A/g; $msg =~ s/B/B/g; $msg =~ s/C/C/g; $msg =~ s/D/D/g; $msg =~ s/E/E/g; $msg =~ s/F/F/g; $msg =~ s/G/G/g; $msg =~ s/H/H/g; $msg =~ s/I/I/g; $msg =~ s/J/J/g; $msg =~ s/K/K/g; $msg =~ s/L/L/g; $msg =~ s/M/M/g; $msg =~ s/N/N/g; $msg =~ s/O/O/g; $msg =~ s/P/P/g; $msg =~ s/Q/Q/g; $msg =~ s/R/R/g; $msg =~ s/S/S/g; $msg =~ s/T/T/g; $msg =~ s/U/U/g; $msg =~ s/V/V/g; $msg =~ s/W/W/g; $msg =~ s/X/X/g; $msg =~ s/Y/Y/g; $msg =~ s/Z/Z/g; $msg =~ s/a/a/g; $msg =~ s/b/b/g; $msg =~ s/c/c/g; $msg =~ s/d/d/g; $msg =~ s/e/e/g; $msg =~ s/f/f/g; $msg =~ s/g/g/g; $msg =~ s/h/h/g; $msg =~ s/i/i/g; $msg =~ s/j/j/g; $msg =~ s/k/k/g; $msg =~ s/l/l/g; $msg =~ s/m/m/g; $msg =~ s/n/n/g; $msg =~ s/o/o/g; $msg =~ s/p/p/g; $msg =~ s/q/q/g; $msg =~ s/r/r/g; $msg =~ s/s/s/g; $msg =~ s/t/t/g; $msg =~ s/u/u/g; $msg =~ s/v/v/g; $msg =~ s/w/w/g; $msg =~ s/x/x/g; $msg =~ s/y/y/g; $msg =~ s/z/z/g; return($msg); } 1;