# 重さの単位変換 Convert Weight # 引数 重さ 単位A 単位B ($Weight, $UnitA, $UnitB) # 戻り値 重さの単位変換 ($ConvertWeight) sub CONVERTWEIGHT{ my ($Weight, $UnitA, $UnitB) = @_; my $ConvertWeight = 0; my $GramA = 0; my $GramB = 0; # 重さの確認 if($Weight <= 0){ return 0; } # $UnitAのグラム単位 $GramA = &GRAM($Weight, $UnitA); # $UnitBのグラム単位 $GramB = &GRAM($Weight, $UnitB); # 重さの単位変換 Convert Weight $ConvertWeight = ($GramA / $GramB) * $Weight; return $ConvertWeight; } # グラム単位 Gram # 引数 重さ 単位 ($Weight, $Unit) # 戻り値 グラム単位 ($Gram) sub GRAM{ my ($Weight, $Unit) = @_; my $Gram = 0; # グラム if($Unit eq "g"){ # グラム $Gram = 1; }elsif($Unit eq "ng"){ # ナノグラム $Gram = 0.000000001; }elsif($Unit eq "mcg"){ # マイクログラム $Gram = 0.000001; }elsif($Unit eq "mg"){ # ミリグラム $Gram = 0.001; }elsif($Unit eq "cg"){ # センチグラム $Gram = 0.01; }elsif($Unit eq "kg"){ # キログラム $Gram = 1000; }elsif($Unit eq "Mg"){ # メガグラム $Gram = 1000000; }elsif($Unit eq "Gg"){ # ギガグラム $Gram = 1000000000; } # ヤード・ポンド法 elsif($Unit eq "gr"){ # グレーン $Gram = 0.06479891; }elsif($Unit eq "dra"){ # ドラム $Gram = 1.7718451953125; }elsif($Unit eq "lb"){ # ポンド (常衡) $Gram = 453.59237; }elsif($Unit eq "oz"){ # オンス (常衡) $Gram = 28.3495231; }elsif($Unit eq "stone"){ # ストーン (英) $Gram = 6350.29318; }elsif($Unit eq "l/qua"){ # クォーター (英) $Gram = 12700.58636; }elsif($Unit eq "s/qua"){ # クォーター (米) $Gram = 11339.80925; }elsif($Unit eq "l/cwt"){ # ハンドレッドウェイト (英) $Gram = 50802.34544; }elsif($Unit eq "s/cwt"){ # ハンドレッドウェイト (英) $Gram = 45359.237; }elsif($Unit eq "l/t"){ # トン (英) $Gram = 1016046.9088; }elsif($Unit eq "s/t"){ # トン (米) $Gram = 907184.74; } # 尺貫法 elsif($Unit eq "mou"){ # 毛 $Gram = 0.00375; }elsif($Unit eq "rin"){ # 厘 $Gram = 0.0375; }elsif($Unit eq "bu"){ # 分 $Gram = 0.375; }elsif($Unit eq "mom"){ # 匁 $Gram = 3.75; }elsif($Unit eq "ryo"){ # 両 $Gram = 37.5; }elsif($Unit eq "kin"){ # 斤 $Gram = 600; }elsif($Unit eq "kan"){ # 貫 $Gram = 3750; } # 貴金属 elsif($Unit eq "tp"){ # トロイポンド $Gram = 373.2417216; }elsif($Unit eq "toz"){ # トロイオンス $Gram = 31.1034768; }elsif($Unit eq "ct"){ # カラット $Gram = 0.2; } # 他 elsif($Unit eq "t"){ # トン $Gram = 1000000; }elsif($Unit eq "sg"){ # スラグ $Gram = 14.593903; }elsif($Unit eq "u"){ # 原子質量単位 $Gram = 1.66053886e-024; }else { $Gram = 0; } return $Gram; }