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

JavaScriptで数値を個々の桁に分割する方法

JavaScriptでは、剰余演算子(%)と除算を組み合わせることで、数値を個々の桁に簡単に分割できます。この記事では、各桁を取り出してその合計を求める基本的な方法を解説します。

基本的な実装例

以下のコードは、whileループを使って数値28573を1桁ずつ分解し、それぞれの桁の合計を出力する例です。

<!DOCTYPE html>
<html>
   <body>
      <script>
         var a = 28573;
         var sum = 0;
         while(a > 0) {
            sum += a % 10;
            a = Math.floor(a / 10);
         }
         document.write("Sum of digits = " + sum);
      </script>
   </body>
</html>

実行結果

Sum of digits = 25

コードの仕組み

  • a % 10:10で割った余りを求めることで、一番下の桁(1の位)を取得します。
  • Math.floor(a / 10):数値を10で割って小数点以下を切り捨てることで、処理済みの桁を取り除きます。
  • この2つの処理を while ループ で繰り返すことで、すべての桁を順番に抽出し、合計を計算できます。

上記の例では、2 + 8 + 5 + 7 + 3 = 25 となるため、「25」が出力されます。

別の方法:文字列に変換するアプローチ

数値を文字列として扱いたい場合は、String()split() を使う方法もあります。

var num = 28573;
var digits = String(num).split('').map(Number);
var sum = digits.reduce(function(a, b) { return a + b; }, 0);
document.write("Sum of digits = " + sum); // Sum of digits = 25

こちらの方法では、各桁が配列として取得できるため、合計だけでなく最大値・最小値の検索など、さまざまな処理にも応用しやすいのが特徴です。

  1. JavaScriptで数値の各桁の数字を一つずつ分割表示する方法

    はじめに この記事では、ユーザーが入力した数値を検証し、有効な数値であればその各桁の数字を画面に一つずつ表示するJavaScriptプログラムの作り方を解説します。 動作イメージ ページ上のボタンをクリックすると入力ダイアログが開き、そこに数値を入力してOKを押すと、入力された数値の各桁が一行ずつ画面に出力される仕組みです。 例えば、入力が次のような場合—— 43354 画面には次のように表示されます。 4 3 3 5 4 完成コード HTML <!DOCTYPE html> <html>   <head>   &n

  2. JavaScriptで数値の先頭n桁の合計を求める方法

    今回は、2つの数値 m と n を引数として受け取るJavaScript関数を作成します。n は常に m の桁数以下であると仮定します。この関数の役割は、m の先頭から n 桁目までの各桁の数字を合計し、その結果を返すことです。問題の例たとえば、入力が次のような場合を考えてみましょう。const m = 5465767; const n = 4;このとき、出力は次のようになります。const output = 20;理由は簡単で、m の先頭4桁が「5, 4, 6, 5」であり、その合計は 5 + 4 + 6 + 5 = 20 となるためです。実装コードそれでは、実際のコードを見ていきましょう。