JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで温度変換を実装する方法|摂氏・華氏の相互変換

温度変換関数とは

本記事では、摂氏(C)または華氏(F)の温度を表す文字列を受け取り、それぞれ反対の単位へ変換するJavaScript関数を作成します。

入力として渡される文字列は、次のような形式です。

"23F", "43C", "23F"

関数は文字列の末尾にある単位記号(C または F)を判別し、以下の変換式に基づいて計算を行います。

  • 摂氏 → 華氏: F = C × 9 ÷ 5 + 32
  • 華氏 → 摂氏: C = (F − 32) × 5 ÷ 9

サンプルコード

実際のコードは次のとおりです。

const temp1 = '37C';
const temp2 = '100F';

const tempConverter = temp => {
    // 文字列の最後の1文字で単位を判定
    const degree = temp[temp.length - 1];
    let converted;

    if (degree === "C") {
        // 摂氏から華氏への変換
        converted = (parseInt(temp) * 9 / 5 + 32).toFixed(2) + "F";
    } else {
        // 華氏から摂氏への変換
        converted = ((parseInt(temp) - 32) * 5 / 9).toFixed(2) + "C";
    }
    return converted;
};

console.log(tempConverter(temp1));
console.log(tempConverter(temp2));

コードの解説

この関数のポイントは以下の通りです。

  • 単位の判定: 文字列の末尾の文字を temp[temp.length - 1] で取得し、「C」か「F」かを判断しています。
  • 数値の抽出: parseInt(temp) を使うことで、「37C」のような文字列から先頭の数値部分だけを取り出せます。
  • 小数の整形: toFixed(2) により、計算結果を小数第2位までの文字列に整えて出力しています。

実行結果

コンソールには次のように出力されます。

98.60F
37.78C

このように、入力された温度の単位を自動的に判別して正しく変換できる、シンプルながら実用的な温度変換関数が完成します。

  1. JavaScriptのconstとletの違いを徹底解説!ブロックスコープ変数の基本と使い方

    JavaScriptにおけるconstとletの基本const と let は、ES2015(ES6)で導入された変数宣言用のキーワードです。どちらもブロックスコープ(波括弧 { } で囲まれた範囲)に対応しているのが特徴で、関数スコープしか持たなかった従来の var とは異なる挙動を示します。両者の大きな違いは再代入の可否です。letで宣言した変数は後から何度でも値を再代入できますが、constで宣言した変数は再代入しようとするとエラー(TypeError)が発生します。letとconstの主な違い項目letconst再代入可能不可(エラー発生)スコープブロックスコープブロックスコープ宣言時

  2. JavaScriptのimportで波括弧「{}」を使う理由とは?名前付きエクスポートの基本をわかりやすく解説

    JavaScript(ESモジュール)でモジュールを読み込む際、import 文に波括弧 { } を付けるかどうか迷ったことはありませんか?実はこの波括弧は、名前付きエクスポート(named export)を読み込むために必要な記法です。本記事では、実際のコード例を使いながら、{ } の役割と使い方を詳しく解説します。 importで { } を使う場面とは JavaScriptのESモジュールでは、エクスポート方法によって読み込み側の書き方が変わります。 名前付きエクスポート:export { 関数名 } のようにエクスポートされたものを読み込む場合は、import { 名前 } fro