JavaScriptで数値の小数部分を取得する方法を解説
JavaScriptで数値の小数部分(小数点以下の値)だけを取り出したい場合、%(剰余)演算子を使うのが最もシンプルな方法です。数値を「1」で割った余りを求めると、整数部分が取り除かれ、小数部分のみが残ります。
基本的な考え方
% 演算子は、ある数値を別の数値で割ったときの余りを返します。例えば「num % 1」と書くと、num を 1 で割った余り、つまり小数部分が得られます。
サンプルコード
以下のコードを実行すると、各数値の小数部分を取得して表示できます。
<!DOCTYPE html>
<html>
<body>
<script>
var num1 = 5.3;
var num2 = 4.2;
var num3 = 8.6;
document.write(num1 % 1);
document.write("<br>"+num2 % 1);
document.write("<br>"+num3 % 1);
</script>
</body>
</html>実行結果
0.2999999999999998 0.20000000000000018 0.5999999999999996
注意点:浮動小数点数の誤差について
実行結果を見ると、「0.3」「0.2」「0.6」ではなく、わずかにずれた値が表示されています。これはJavaScriptが数値をIEEE 754形式の浮動小数点数として扱っているために発生する丸め誤差です。
正確な小数部分が必要な場合は、toFixed() メソッドで桁数を指定して丸めるか、Math.round() を組み合わせて調整するのがおすすめです。
var result = (5.3 % 1).toFixed(1); // "0.3" console.log(result);
まとめ
- JavaScriptで小数部分を取得するには % 演算子を使い、「数値 % 1」のように記述します。
- 浮動小数点数の仕様上、微小な誤差が生じる可能性があります。
- 表示や計算に正確な値が必要な場合は、toFixed() などで丸め処理を行いましょう。
-
JavaScriptで小数を検証するには?正規表現を使った実装例を解説
JavaScriptで小数を検証する方法 JavaScriptで、ユーザーが入力した値が正しい小数(小数点を含む数値)かどうかを判定したい場面はよくあります。そんなときに便利なのが正規表現です。本記事では、match()メソッドと正規表現を組み合わせて、入力値が小数かどうかを検証する方法を、具体的なコード例とともにわかりやすく解説します。 使用する正規表現パターン 今回の検証では、以下の正規表現を使用します。 /^[-+]?[0-9]+\.[0-9]+$/ このパターンの各要素の意味は次のとおりです。 ^[-+]?:文字列の先頭に符号(+ または -)が付いていても、付いていなくてもマッチ
-
【JavaScript】ゼロを含む文字列を数値に変換する方法をわかりやすく解説
JavaScriptでは、ドット(.)やゼロを含む文字列を数値として扱いたい場面があります。例えば、次のような文字列があったとします。var stringValue="453.000.00.00.0000";このようにゼロや区切り文字を含む文字列をそのまま数値変換しようとすると、意図した結果になりません。そこで、replace()メソッドで不要なドットを取り除き、parseInt()で整数に変換するという2段階の処理を行います。var numberValue = parseInt(stringValue.replace(/\./gm, ''));コード全体の