# 体積の単位変換 Convert Volume # 引数 体積 単位A 単位B ($Volume, $UnitA, $UnitB) # 戻り値 体積の単位変換 ($ConvertVolume) sub CONVERTVOLUME{ my ($Volume, $UnitA, $UnitB) = @_; my $ConvertVolume = 0; my $CubicMeterA = 0; my $CubicMeterB = 0; # 体積の確認 if($Volume <= 0){ return 0; } # $UnitAの立方メートル単位 $CubicMeterA = &CUBICMETER($Volume, $UnitA); # $UnitBの立方メートル単位 $CubicMeterB = &CUBICMETER($Volume, $UnitB); # 体積の単位変換 Convert Volume $ConvertVolume = ($CubicMeterA / $CubicMeterB) * $Volume; return $ConvertVolume; } # 立方メートル単位 CubicMeter # 引数 体積 単位 ($Volume, $Unit) # 戻り値 立方メートル単位 ($CubicMeter) sub CUBICMETER{ my ($Volume, $Unit) = @_; my $CubicMeter = 0; # 立方メートル if($Unit eq "m"){ # 立方メートル $CubicMeter = 1; }elsif($Unit eq "mm"){ # 立方ミリメートル $CubicMeter = 0.000000001; }elsif($Unit eq "cm"){ # 立方センチメートル $CubicMeter = 0.000001; }elsif($Unit eq "km"){ # 立方キロメートル $CubicMeter = 1000000000; }elsif($Unit eq "Mm"){ # 立方メガメートル $CubicMeter = 1000000000000000000; } # リットル elsif($Unit eq "L"){ # リットル $CubicMeter = 0.001; }elsif($Unit eq "nL"){ # ナノリットル $CubicMeter = 0.000000000001; }elsif($Unit eq "uL"){ # マイクロリットル $CubicMeter = 0.000000001; }elsif($Unit eq "mL"){ # ミリリットル $CubicMeter = 0.000001; }elsif($Unit eq "cL"){ # センチリットル $CubicMeter = 0.00001; }elsif($Unit eq "dL"){ # デシリットル $CubicMeter = 0.0001; }elsif($Unit eq "kL"){ # キロリットル $CubicMeter = 1; }elsif($Unit eq "ML"){ # メガリットル $CubicMeter = 1000; } # ヤード・ポンド法 elsif($Unit eq "in"){ # 立法インチ $CubicMeter = 0.000016387064; }elsif($Unit eq "ft"){ # 立法フィート $CubicMeter = 0.0283168466; }elsif($Unit eq "yd"){ # 立法ヤード $CubicMeter = 0.764554858; }elsif($Unit eq "chain"){ # 立法チェーン $CubicMeter = 8140.98013; }elsif($Unit eq "furl"){ # 立法ハロン $CubicMeter = 8140980.13; }elsif($Unit eq "ml"){ # 立法マイル $CubicMeter = 4168181830; }elsif($Unit eq "lea"){ # 立法リーグ $CubicMeter = 171508919616; }elsif($Unit eq "uk/dram"){ # ドラム (英) $CubicMeter = 0.0000036966911953125; }elsif($Unit eq "us/dram"){ # ドラム (米) $CubicMeter = 0.0000035516328125; }elsif($Unit eq "uk/oz"){ # 液量オンス(英) $CubicMeter = 0.0000284130625; }elsif($Unit eq "us/oz"){ # 液量オンス(米) $CubicMeter = 0.0000295735295625; }elsif($Unit eq "uk/gill"){ # ジル(英) $CubicMeter = 0.000142; }elsif($Unit eq "us/gill"){ # ジル(米) $CubicMeter = 0.00012; }elsif($Unit eq "uk/pint"){ # パイント(英) $CubicMeter = 0.00056826125; }elsif($Unit eq "us/pintF"){ # パイント(米液量) $CubicMeter = 0.000473176473; }elsif($Unit eq "us/pintD"){ # パイント(米乾量) $CubicMeter = 0.0005506104713575; }elsif($Unit eq "uk/quart"){ # クォート(英) $CubicMeter = 0.0011365225; }elsif($Unit eq "us/quartF"){ # クォート(米液量) $CubicMeter = 0.000946352; }elsif($Unit eq "us/quartD"){ # クォート(米乾量) $CubicMeter = 0.00110122; }elsif($Unit eq "uk/gal"){ # ガロン(英) $CubicMeter = 0.00454609; }elsif($Unit eq "us/galF"){ # ガロン(米液量) $CubicMeter = 0.003785411784; }elsif($Unit eq "us/galD"){ # ガロン(米乾量) $CubicMeter = 0.004404842803; }elsif($Unit eq "uk/peck"){ # ペック(英) $CubicMeter = 0.00909218; }elsif($Unit eq "us/peck"){ # ペック(米) $CubicMeter = 0.00880977; }elsif($Unit eq "uk/ken"){ # ケニング(英) $CubicMeter = 0.01818436; }elsif($Unit eq "us/ken"){ # ケニング(米) $CubicMeter = 0.01761954; }elsif($Unit eq "uk/bsh"){ # ブッシェル(英) $CubicMeter = 0.03636872; }elsif($Unit eq "us/bsh"){ # ブッシェル(米) $CubicMeter = 0.03523907017; }elsif($Unit eq "fir"){ # ファーキン $CubicMeter = 0.01761954; }elsif($Unit eq "kil"){ # キルダーキン $CubicMeter = 0.08182962; }elsif($Unit eq "bbl"){ # バレル(石油用バレル) $CubicMeter = 0.158987294928; }elsif($Unit eq "us/bblF"){ # バレル(米液量バレル) $CubicMeter = 0.119240471196; }elsif($Unit eq "us/bblD"){ # バレル(標準乾量バレル) $CubicMeter = 0.1156; }elsif($Unit eq "hog"){ # ホッグズヘッド $CubicMeter = 0.24548886; }elsif($Unit eq "qua"){ # クォーター $CubicMeter = 0.29094976; } # 尺貫法 elsif($Unit eq "bu"){ # 立方分 $CubicMeter = 0.0000000278264741; }elsif($Unit eq "sun"){ # 立方寸 $CubicMeter = 0.0000278264741; }elsif($Unit eq "syaku"){ # 立方尺 $CubicMeter = 0.0278264741; }elsif($Unit eq "ken"){ # 立方間 $CubicMeter = 6.01051841; }elsif($Unit eq "jou"){ # 立方丈 $CubicMeter = 27.8264741; }elsif($Unit eq "chou"){ # 立方町 $CubicMeter = 1298271.98; }elsif($Unit eq "ri"){ # 立方里 $CubicMeter = 60572177300; }elsif($Unit eq "futsu"){ # 弗 $CubicMeter = 0.00000018039; }elsif($Unit eq "sai"){ # 才 $CubicMeter = 0.0000018039; }elsif($Unit eq "syaku"){ # 勺 $CubicMeter = 0.000018039; }elsif($Unit eq "gou"){ # 合 $CubicMeter = 0.00018039; }elsif($Unit eq "syoy"){ # 升 $CubicMeter = 0.0018039; }elsif($Unit eq "to"){ # 斗 $CubicMeter = 0.018039; }elsif($Unit eq "koku"){ # 石 $CubicMeter = 0.18039; } # 他 elsif($Unit eq "tokyo"){ # 東京ドーム $CubicMeter = 1240000; }elsif($Unit eq "tsp"){ # ティースプーン $CubicMeter = 0.000005; }elsif($Unit eq "uk/tsp"){ # ティースプーン (英) $CubicMeter = 0.00000591939047; }elsif($Unit eq "us/tsp"){ # ティースプーン (米) $CubicMeter = 0.000004929994084; }elsif($Unit eq "table"){ # ティースプーン $CubicMeter = 0.000015; }elsif($Unit eq "uk/table"){ # ティースプーン (英) $CubicMeter = 0.000017.7581714; }elsif($Unit eq "us/table"){ # ティースプーン (米) $CubicMeter = 0.0000147867648; }elsif($Unit eq "cup"){ # 計量カップ $CubicMeter = 0.0002; }elsif($Unit eq "us/cup"){ # 計量カップ (米) $CubicMeter = 0.0002365882365; }elsif($Unit eq "FBM"){ # ボードフィート $CubicMeter = 0.002359737216; }else { $CubicMeter = 0; } return $CubicMeter; }