JavaScriptで数値を丸める・切り捨てる方法|Math.round()とMath.trunc()の違いと使い方
JavaScriptには、小数を整数へ変換するためのメソッドとして、Math.round() と Math.trunc() の2つが標準で用意されています。
- Math.round():小数点以下を四捨五入し、最も近い整数に丸めます。例えば「3.5」は「4」に、「3.4」は「3」になります。
- Math.trunc():小数点以下を単純に取り除き、整数部分だけを残します。「3.9」も「3.1」もどちらも「3」になります。
それぞれの特徴を踏まえながら、実際のコード例を見ていきましょう。
Math.round() と Math.trunc() の違い
| メソッド | 動作 | 例(3.999) |
|---|---|---|
| Math.round() | 四捨五入して最も近い整数へ | 4 |
| Math.trunc() | 小数部分を削除して整数部分のみ | 3 |
サンプルコード
以下は、数値「3.999」に対して丸めと切り捨てを実行するシンプルなHTMLコードです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>JavaScriptでの数値の丸めと切り捨て</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.result,
.sample {
font-size: 20px;
font-weight: 500;
color: blueviolet;
}
.sample {
color: red;
}
</style>
</head>
<body>
<h1>JavaScriptでの数値の丸めと切り捨て</h1>
<div class="sample">3.999</div>
<div class="result"></div>
<br />
<button class="Btn">クリックしてください</button>
<h3>上のボタンをクリックすると、丸めと切り捨ての結果が表示されます</h3>
<script>
let resEle = document.querySelector(".result");
let BtnEle = document.querySelector(".Btn");
BtnEle.addEventListener("click", () => {
resEle.innerHTML = Math.round(3.9999) + "<br>";
resEle.innerHTML += Math.trunc(3.9999) + "<br>";
});
</script>
</body>
</html>実行結果
このコードをブラウザで開くと、次のように対象の数値とボタンが表示されます。

「クリックしてください」ボタンをクリックすると −

ボタンを押すと、Math.round(3.9999) の結果である「4」(四捨五入)と、Math.trunc(3.9999) の結果である「3」(切り捨て)が順に表示されます。
負の数を扱う場合の注意点
負の数では、両者の挙動の違いがより明確になります。
Math.round(-3.7)→ -4(最も近い整数へ丸められる)Math.trunc(-3.7)→ -3(単に小数部分を削除するため、0方向へ向かう)
また、JavaScriptの Math.round() は「.5」の場合に正の無限大方向へ丸められるという仕様です。Math.round(-3.5) は「-3」になるため、他言語の感覚で使うと意図しない結果になることがあります。切り捨てたい場合は Math.floor()、切り上げたい場合は Math.ceil() を使い分けると安心です。
-
JavaScriptの数値(Number)の基本と実践サンプルコード
JavaScriptでは、整数も小数もすべて「Number」型として扱われます。この記事では、数値変数の定義方法と、それらを使った簡単な演算の例を、動作するHTMLサンプルコードとともに紹介します。サンプルコード以下は、JavaScriptで数値を扱う基本的な例です。整数(22、99)と小数(1.523)を変数に格納し、ボタンをクリックすると画面に表示する仕組みになっています。<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport co
-
JavaScriptで配列の偶数を2乗・奇数を平方根に変換して合計を求める方法
問題 数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、配列内の各数値に対して「偶数であれば2乗」「奇数であれば平方根」を求め、それらすべての合計を小数点以下2桁に丸めて返します。 解決のアプローチ この問題は、Array.prototype.map()とArray.prototype.reduce()を組み合わせると簡潔に実装できます。まずmap()で各要素を変換した新しい配列を作り、続いてreduce()でその配列の合計を計算します。最後にMath.round()を使って小数点以下2桁に丸めます。 コード例 以下が実際のコードです − const arr