JavaScriptで数値の小数点以下の桁数を取得する方法
概要
本記事では、整数または浮動小数点数を受け取るJavaScript関数の作成方法を解説します。引数が浮動小数点数の場合は小数点以下の桁数を返し、整数の場合は0を返します。
実装の考え方
最もシンプルで確実な方法は、数値を一度文字列に変換し、小数点(.)が含まれているかどうかを判定するアプローチです。具体的な手順は以下のとおりです。
String()を使って数値を文字列に変換するincludes()で小数点が含まれているかを確認する- 含まれていれば
split('.')で分割し、小数点以下の文字数を返す - 含まれていなければ0を返す
コード例
const num1 = 1.123456789;
const num2 = 123456789;
const decimalCount = num => {
// 数値を文字列に変換
const numStr = String(num);
// 文字列に小数点が含まれる場合
if (numStr.includes('.')) {
return numStr.split('.')[1].length;
};
// 小数点が含まれない場合
return 0;
}
console.log(decimalCount(num1)) // 9
console.log(decimalCount(num2)) // 0
実行結果
コンソールには以下のように出力されます。
9
0
コードの解説
num1は小数点以下が9桁の浮動小数点数なので、split('.')で分割した2番目の要素「123456789」の長さである9が返されます。一方、num2は整数のため小数点が含まれず、0が返されます。
注意点
非常に大きい数値や極端に小さい数値は、文字列変換時に指数表記(例:1e-7)になる場合があります。そのようなケースに対応する必要がある場合は、toString()の挙動を考慮した追加処理が必要です。また、浮動小数点数には計算誤差が伴うため、厳密な精度が求められる場面では返される桁数に注意してください。
-
JavaScriptで小数を検証するには?正規表現を使った実装例を解説
JavaScriptで小数を検証する方法 JavaScriptで、ユーザーが入力した値が正しい小数(小数点を含む数値)かどうかを判定したい場面はよくあります。そんなときに便利なのが正規表現です。本記事では、match()メソッドと正規表現を組み合わせて、入力値が小数かどうかを検証する方法を、具体的なコード例とともにわかりやすく解説します。 使用する正規表現パターン 今回の検証では、以下の正規表現を使用します。 /^[-+]?[0-9]+\.[0-9]+$/ このパターンの各要素の意味は次のとおりです。 ^[-+]?:文字列の先頭に符号(+ または -)が付いていても、付いていなくてもマッチ
-
JavaScriptで数字パターンを表示する方法【初心者向けサンプルコード】
本記事では、テキスト入力欄とボタンを備えたJavaScript・HTMLプログラムの作成方法を解説します。ユーザーが入力欄に任意の数値(例:5)を入力してボタンをクリックすると、画面に以下のような数字パターンが表示される仕組みです。(n = 5 の場合の出力例)01 01 02 01 02 03 01 02 03 04 01 02 03 04 05仕組みのポイントこのパターンは二重ループ(ネストしたforループ)を使うことで実現できます。外側のループが「行」を制御し、内側のループがその行に表示する「数字の個数」を制御します。i 行目には 1 から i までの数字が順番に出力されるため、行が進む