1華氏度(℉) = 32 + 1攝氏度 x 1.8開氏度(K) = 273.15 + 攝氏度列氏度(°Re) = 攝氏度 ÷ 1.25蘭氏度(°R) = (攝氏度 + 273.15) x 1.8攝氏度(℃) = (華氏度 - 32) ÷ 1.8
0開氏度(K)被稱作絕對零度,只能無限接近,永遠無法達到,所以開氏度(K)數值不能小於0,攝氏度(℃)數值不能小於-273.15。
攝氏度(℃)的發明者是Anders Celsius(1701-1744),其結冰點是0°C,沸點為100°C,攝氏度(℃)是我國較常用的溫度單位。
華氏度(℉)是以其發明者Gabriel D.Fahrenheir(1681-1736)命名,其結冰點是31°F,沸點為212°F,華氏度(℉)在美國及許多英語國家較常使用。
/// <summary>
/// 溫度單位換算
/// </summary>
/// <param name="GeTempType"></param>
/// <param name="Temp">開氏度</param>
float GetTempType(TempType GeTempType, TempType SeTempType, float Temp)
{
float tempTemp = Temp;
switch (GeTempType)
{
case TempType.攝氏度C:
switch (SeTempType)
{
case TempType.攝氏度C:
tempTemp = Temp;
break;
case TempType.華氏度F:
tempTemp = (Temp - 32) / 1.8f;
break;
case TempType.開氏度K:
tempTemp = Temp - 273.15f;
break;
case TempType.蘭氏度R:
break;
case TempType.列氏度Re:
break;
}
break;
case TempType.華氏度F:
switch (SeTempType)
{
case TempType.攝氏度C:
tempTemp = (32 + Temp) * 1.8f;
break;
case TempType.華氏度F:
tempTemp = Temp;
break;
case TempType.開氏度K:
tempTemp = 32 + 1.8f * (Temp - 273.15f);
break;
case TempType.蘭氏度R:
break;
case TempType.列氏度Re:
break;
}
break;
case TempType.開氏度K:
switch (SeTempType)
{
case TempType.攝氏度C:
tempTemp = Temp + 273.15f;
break;
case TempType.華氏度F:
tempTemp = 273.15f + (Temp - 32) / 1.8f;
break;
case TempType.開氏度K:
tempTemp = Temp;
break;
case TempType.蘭氏度R:
break;
case TempType.列氏度Re:
break;
}
break;
case TempType.蘭氏度R:
switch (SeTempType)
{
case TempType.攝氏度C:
tempTemp = Temp;
break;
case TempType.華氏度F:
break;
case TempType.開氏度K:
tempTemp = Temp * 1.8f;
break;
case TempType.蘭氏度R:
tempTemp = Temp;
break;
case TempType.列氏度Re:
break;
}
break;
case TempType.列氏度Re:
switch (SeTempType)
{
case TempType.攝氏度C:
tempTemp = Temp;
break;
case TempType.華氏度F:
break;
case TempType.開氏度K:
tempTemp = (Temp - 273.15f) / 1.25f;
break;
case TempType.蘭氏度R:
break;
case TempType.列氏度Re:
tempTemp = Temp;
break;
}
break;
}
return tempTemp;
}
public enum TempType
{
攝氏度C,
華氏度F,
開氏度K,
蘭氏度R,
列氏度Re
}