海外の天気予報やAPI、海外製品の仕様書を見ていると、
- 68°F
- 86°F
- 100°F
のように、温度が「華氏(℉ / °F)」で表示されていることがあります。
日本では摂氏(℃ / °C)が一般的なので、
68°Fは何℃?
と、その都度換算したくなることもあります。
華氏と摂氏は単純な倍率では変換できませんが、計算式自体はそれほど複雑ではありません。
この記事では、
- 摂氏と華氏の違い
- 摂氏から華氏へ変換する計算式
- 華氏から摂氏へ変換する計算式
- よく使う温度の換算例
- JavaScriptで変換する方法
をまとめます。
摂氏(℃)と華氏(℉)とは
摂氏と華氏は、どちらも温度を表す単位です。
日本では一般的に**摂氏(℃)**が使われています。
一方、アメリカなどでは日常生活の気温表示に**華氏(℉)**が使われています。
代表的な温度を比較すると、次のようになります。
| 摂氏(℃) | 華氏(℉) |
|---|---|
| 0℃ | 32℉ |
| 10℃ | 50℉ |
| 20℃ | 68℉ |
| 25℃ | 77℉ |
| 30℃ | 86℉ |
| 37℃ | 98.6℉ |
| 100℃ | 212℉ |
同じ温度でも、摂氏と華氏では数値が大きく異なります。
たとえば、日本で「気温30℃」と言うところを華氏で表すと「86℉」になります。
摂氏から華氏へ変換する計算式
摂氏を華氏へ変換する場合は、次の式を使います。
華氏(℉) = 摂氏(℃) × 9 ÷ 5 + 32
または、
°F = °C × 1.8 + 32
と書くこともできます。
20℃を華氏に変換する
20℃を華氏へ変換してみます。
20 × 9 ÷ 5 + 32
= 36 + 32
= 68
したがって、
20℃ = 68℉
です。
30℃を華氏に変換する
同じように30℃の場合は、
30 × 9 ÷ 5 + 32
= 54 + 32
= 86
なので、
30℃ = 86℉
となります。
華氏から摂氏へ変換する計算式
逆に、華氏を摂氏へ変換する場合は次の式を使います。
摂氏(℃) = (華氏(℉) - 32) × 5 ÷ 9
つまり、
- 華氏から32を引く
- 5を掛ける
- 9で割る
という順番です。
68℉は何℃?
68℉を摂氏へ変換してみます。
(68 - 32) × 5 ÷ 9
= 36 × 5 ÷ 9
= 20
したがって、
68℉ = 20℃
です。
海外の天気予報で「68°F」と表示されていた場合、日本の感覚では約20℃ということになります。
86℉は何℃?
86℉の場合は、
(86 - 32) × 5 ÷ 9
= 54 × 5 ÷ 9
= 30
なので、
86℉ = 30℃
です。
100℉は何℃?
100℉の場合は、
(100 - 32) × 5 ÷ 9
= 68 × 5 ÷ 9
≈ 37.78
となります。
つまり、
100℉ ≈ 37.8℃
です。
華氏では100という数字でも、摂氏では約37.8℃になるため、単純に数値だけを比較することはできません。
37℃は華氏で何度?
37℃を華氏へ変換すると、
37 × 9 ÷ 5 + 32
= 66.6 + 32
= 98.6
なので、
37℃ = 98.6℉
となります。
小数を含む温度でも、同じ計算式で変換できます。
-40℃と-40℉は同じ
華氏と摂氏には少し面白いポイントがあります。
-40℃と-40℉は同じ温度です。
計算式へ-40を入れてみます。
-40 × 9 ÷ 5 + 32
= -72 + 32
= -40
つまり、
-40℃ = -40℉
となります。
摂氏と華氏は基準となる温度と目盛りの幅が異なりますが、ちょうど-40の地点で数値が一致します。
JavaScriptで摂氏から華氏へ変換する
Webアプリやツールで温度変換を実装する場合も、同じ計算式をそのまま使えます。
摂氏から華氏への変換は次のように書けます。
function celsiusToFahrenheit(celsius) {
return celsius * 9 / 5 + 32;
}
console.log(celsiusToFahrenheit(20));
// 68
JavaScriptで華氏から摂氏へ変換する
逆方向も同様です。
function fahrenheitToCelsius(fahrenheit) {
return (fahrenheit - 32) * 5 / 9;
}
console.log(fahrenheitToCelsius(68));
// 20
100℉を入力すると、
console.log(fahrenheitToCelsius(100));
// 37.77777777777778
のように小数が長く表示されます。
表示用であれば、必要に応じて丸め処理を追加します。
function fahrenheitToCelsius(fahrenheit) {
const value = (fahrenheit - 32) * 5 / 9;
return Math.round(value * 10) / 10;
}
console.log(fahrenheitToCelsius(100));
// 37.8
双方向の変換関数にする
1つの関数で変換方向を指定することもできます。
function convertTemperature(value, from) {
if (from === "celsius") {
return value * 9 / 5 + 32;
}
if (from === "fahrenheit") {
return (value - 32) * 5 / 9;
}
throw new Error("Unsupported temperature unit");
}
使用例です。
console.log(convertTemperature(20, "celsius"));
// 68
console.log(convertTemperature(68, "fahrenheit"));
// 20
入力フォームと組み合わせれば、ブラウザ上でリアルタイムに華氏・摂氏を変換することもできます。
よく使う華氏・摂氏の換算表
海外の天気予報を見る用途であれば、代表的な数値を覚えておくと便利です。
| 華氏(℉) | 摂氏(℃) | 温度の目安 |
|---|---|---|
| 32℉ | 0℃ | 水が凍る温度の目安 |
| 50℉ | 10℃ | 肌寒く感じやすい気温 |
| 59℉ | 15℃ | 涼しい気温 |
| 68℉ | 20℃ | 比較的過ごしやすい気温 |
| 77℉ | 25℃ | 暖かい気温 |
| 86℉ | 30℃ | 暑い気温 |
| 95℉ | 35℃ | かなり暑い気温 |
| 98.6℉ | 37℃ | 体温の換算例 |
| 212℉ | 100℃ | 水が沸騰する温度の目安 |
特に、
32℉ = 0℃
68℉ = 20℃
86℉ = 30℃
あたりを覚えておくと、海外の天気予報を見るときに温度をイメージしやすくなります。
Webで華氏・摂氏をすぐ変換する
計算式はシンプルですが、毎回手計算するのは少し面倒です。
shinsu.jpでは、摂氏(℃)と華氏(℉)をその場で相互変換できるツールを公開しています。
どちらか一方へ温度を入力すると、もう一方の単位へ自動的に換算できます。
小数やマイナスの温度にも対応しています。
まとめ
摂氏から華氏への変換式は、
華氏(℉) = 摂氏(℃) × 9 ÷ 5 + 32
華氏から摂氏への変換式は、
摂氏(℃) = (華氏(℉) - 32) × 5 ÷ 9
です。
代表的な値としては、
0℃ = 32℉
20℃ = 68℉
30℃ = 86℉
37℃ = 98.6℉
100℃ = 212℉
となります。
海外の天気予報やAPI、海外製品の仕様書などで華氏表記を見かけたときは、この計算式を使えば摂氏へ変換できます。
プログラムから扱う場合も計算式は同じなので、JavaScriptなどで簡単に実装できます。
