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

数値を展開形式の文字列に変換する方法 - JavaScript

数値を展開形式で表現する

たとえば、数値 124 が与えられ、この数値を入力として受け取り、その展開形式を文字列として返す関数を作成する必要があるとします。

124 の展開形式は次のようになります。

'100+20+4'

展開形式とは、各桁の数字をその位の値(桁の重み)に分解して表現したものです。百の位、十の位、一の位のそれぞれの値を「+」記号で連結していきます。

サンプルコード

以下が実際のコード例です。

const num = 125;
const expandedForm = num => {
    const numStr = String(num);
    let res = '';
    for(let i = 0; i < numStr.length; i++){
        const placeValue = +(numStr[i]) * Math.pow(10, (numStr.length - 1 - i));
        if(numStr.length - i > 1){
            res += `${placeValue}+`
        }else{
            res += placeValue;
        };
    };
    return res;
};
console.log(expandedForm(num));

コードの解説

このコードの処理の流れは以下のとおりです。

まず、String() を使って数値を文字列に変換し、各桁に個別にアクセスできるようにします。次に、for ループで各桁を先頭から順番に処理し、その桁の数字に Math.pow(10, 桁の位置) を掛けることで、位の値を計算します。

最後の桁以外は「+」を末尾に付けて文字列に連結し、すべての桁を処理し終えたら結果の文字列を返します。

出力結果

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

100+20+5
  1. JavaScriptの数値(Number)の基本と実践サンプルコード

    JavaScriptでは、整数も小数もすべて「Number」型として扱われます。この記事では、数値変数の定義方法と、それらを使った簡単な演算の例を、動作するHTMLサンプルコードとともに紹介します。サンプルコード以下は、JavaScriptで数値を扱う基本的な例です。整数(22、99)と小数(1.523)を変数に格納し、ボタンをクリックすると画面に表示する仕組みになっています。<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport co

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

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