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

JavaScriptで文字列数値の後半の桁を0に変換する方法

問題

文字列形式の数値を唯一の引数として受け取るJavaScript関数を作成する必要があります。

この関数は、入力された数値の後半の桁をすべて「0」に置き換えた結果を返すものとします。桁数が奇数の場合は、中央の桁から後ろをすべて0に変更します。

例えば、以下のように変換されます。

938473 → 938000

コード例

以下が実装コードです。

const num = '938473';
const convertHalf = (num = '') => {
    let i = num.toString();
    let j = Math.floor(i.length / 2);
    if (j * 2 === i.length) {
        return parseInt(i.slice(0, j) + '0'.repeat(j));
    }else{
        return parseInt(i.slice(0, j) + '0'.repeat(j + 1));
    };
};
console.log(convertHalf(num));

出力結果

938000

コードの解説

まず、引数をtoString()で文字列に変換し、Math.floor()を使って桁数の半分(小数点以下は切り捨て)を求めます。

桁数が偶数の場合は、slice(0, j)で前半の桁を取り出し、repeat()で同じ数だけ「0」を生成して連結します。一方、桁数が奇数の場合は、中央の1桁も0にする必要があるため、「0」を1つ多く付加します。

最後にparseInt()で文字列を数値に戻して返却することで、期待通りの結果が得られます。

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

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

  2. JavaScriptで文字列内の数字を偶数と奇数に分けて合計を比較する方法

    問題の概要数字のみで構成された文字列を受け取るJavaScript関数を作成する必要があります。この関数は、文字列内の偶数の数字の合計が奇数の数字の合計より大きい場合は true を、そうでない場合は false を返します。実装のアプローチ処理の手順は以下の通りです。偶数用と奇数用の2つの合計変数を0で初期化します。文字列を1文字ずつループで走査し、各文字を数値に変換します。数値が2で割り切れる(余りが0)場合は偶数の合計に、それ以外の場合は奇数の合計に加算します。最後に、偶数の合計が奇数の合計より大きいかどうかを比較した結果を返します。サンプルコード {