FC2ブログ

# 温度の単位変換 Convert Temperature
# 引数 値 単位A 単位B ($Value, $UnitA, $UnitB)
# 戻り値 温度の単位変換 ($ConvertTemperature)
sub CONVERTTEMPERATURE{
my ($Value, $UnitA, $UnitB) = @_;
my $ConvertTemperature = 0;
my $KelvinA = $Value;
my $KelvinB = 0;

# $UnitAからケルビン単位
$KelvinA = &KELVIN($Value, $UnitA, 0);
# ケルビン単位から$UnitB
$KelvinB = &KELVIN($KelvinA, $UnitB, 1);

# 温度の単位変換 Convert Temperature
$ConvertTemperature = $KelvinB;

return $ConvertTemperature;
}

# ケルビン単位 Kelvin
# 引数 値 単位 フラグ ($Value, $Unit, $Flag)
# 戻り値 ケルビン単位 ($Kelvin)
sub KELVIN{
my ($Value, $Unit, $Flag) = @_;
my $KelvinUnit = 0,
my %Kelvin = ();

if($Flag == 0){
# $UnitAからケルビン
%Kelvin = (
# ケルビン 熱力学温度
"K" => $Value,
# セルシウス度 摂氏温度
"C" => ($Value + 273.15),
# ドリール度
"D" => (373.15 - ($Value * (2 / 3))),
# ファーレンハイト度 華氏度
"F" => (($Value + 459.67) * (5 / 9)),
# ニュートン度
"N" => (($Value * (100/33)) + 273.15),
# ランキン度
"Ra" => ($Value * (5 / 9)),
# レオミュール度
"Re" => (($Value * (5 / 4)) + 273.15),
# レーマー度
"Ro" => ((($Value - 7.5) * (40 / 21)) + 273.15),
);
}else {
# ケルビンから$UnitB
%Kelvin = (
# ケルビン 熱力学温度
"K" => $Value,
# セルシウス度 摂氏温度
"C" => ($Value - 273.15),
# ドリール度
"D" => ((373.15 - $Value) * (3 / 2)),
# ファーレンハイト度 華氏度
"F" => (($Value * (9 / 5)) - 459.67),
# ニュートン度
"N" => (($Value - 273.15) * (33 / 100)),
# ランキン度
"Ra" => ($Value * (9 / 5)),
# レオミュール度
"Re" => (($Value - 273.15) * (4 / 5)),
# レーマー度
"Ro" => ((($Value - 273.15) * (21 / 40)) + 7.5),
);
}

# ハッシュの確認
if(exists($Kelvin{$Unit}) == 0){
return 0;
}

# ケルビン単位 Kelvin
$KelvinUnit = $Kelvin{$Unit};

return $KelvinUnit;
}


参考URL
CONVERT - Excel - Microsoft Office Online
ケルビン - Wikipedia
単位の換算一覧 - Wikipedia
計量単位一覧 - Wikipedia
Conversion of units - Wikipedia, the free encyclopedia
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS