Hướng dẫn làm tròn xuống javascript

Phương thức toFixed làm tròn số với độ dài phần thập phân được chỉ định và sau đó chuyển đổi thành dạng chuỗi.

Lưu ý: nếu số ký tự phần thập phân mong muốn dài hơn số thực, các số 0 sẽ được thêm vào để tạo độ dài phần thập phân mong muốn.

Cú pháp

number.toFixed(x)
Tham số
x Không bắt buộc. Số chữ số sau dấu thập phân. Mặc định là 0 (không có chữ số nào sau dấu thập phân)

Giá trị trả về:

Một chuỗi, đại diện cho một số với độ dài của phần thập phân là x ký tự

JavaScript Version:

ECMAScript 3

Ví dụ

Ví dụ sau sẽ chuyển một số thành một chuỗi, làm tròn số để chỉ giữ lại hai số thập phân:

var num = 5.56789;
var n = num.toFixed(2); //5.57

Chuyển đổi một số có ít chữ số thập phân hơn yêu cầu:

var num = 5.56789;
var n = num.toFixed(10);	//5.5678900000
(5.56789).toFixed();	//6

Xem thêm

  • JavaScript: Hàm Number chuyển thành dạng số
  • Javascript: Hàm làm tròn xuống một số Math.floor

Hướng dẫn cách làm tròn số trong JavaScript. Bạn sẽ học được cách sử dụng các phương thức như Math.round, Math.ceil, Math.floor để làm tròn số trong JavaScript sau bài học này.

Math.round trong JavaScript

Math.round trong JavaScript là một phương thức của Math Object, có tác dụng trả về một số nguyên gần nhất được làm tròn từ số chỉ định.

Cú pháp sử dụng Math.round để làm tròn số như sau:

Math.round(value)

Trong đó value là giá trị cần làm tròn.

Phương thức Math.round sẽ làm tròn giá trị của value được chỉ định. Trong trường hợp value chỉ định không thuộc kiểu số thì chúng sẽ được tự động chuyển về giá trị số, trước khi được đem so sánh với nhau.

Nếu không có giá trị nào được chỉ định, hoặc là giá trị NaN, hoặc là một giá trị không thể chuyển về kiểu số được chỉ định, giá trị NaN sẽ được trả về.

Math.round sẽ trả về kết quả làm tròn là số nguyên gần nhất với số chỉ định. Điều đó có nghĩa số chỉ định sẽ được tròn lên 1 đơn vị nếu phần thập phân >= 0.5 và lượt bỏ phần thập phân nếu &amp;lt; 0.5&lt;/p&gt;&lt;p&gt;Hãy cùng xem cách Math.round trả về giá trị trong một số ví dụ sau đây:&lt;/p&gt;&lt;figure class="highlight javascript"&gt;&lt;button class="code-copy-btn" title="Copy"&gt;Copy&lt;/button&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="code"&gt;&lt;pre&gt;&lt;span class="line"&gt;&lt;span class="built_in"&gt;Math&lt;/span&gt;.round(&lt;span class="number"&gt;3.4&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;span class="comment"&gt;//&amp;gt; 3&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;span class="built_in"&gt;Math&lt;/span&gt;.round(&lt;span class="number"&gt;3.5&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;span class="comment"&gt;//&amp;gt; 4&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;span class="built_in"&gt;Math&lt;/span&gt;.round(&lt;span class="number"&gt;3.6&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;span class="comment"&gt;//&amp;gt; 4&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;p&gt;Trong trường hợp trong các giá trị chỉ định chứa giá trị không phải kiểu số, chúng sẽ được chuyển kiểu về dạng số trước khi được làm tròn. Ví dụ chuỗi ký tự &lt;code&gt;'8.47'&lt;/code&gt; sẽ được chuyển về số &lt;code&gt;8.47&lt;/code&gt; trước khi được làm tròn như sau:&lt;/p&gt;&lt;figure class="highlight javascript"&gt;&lt;button class="code-copy-btn" title="Copy"&gt;Copy&lt;/button&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="code"&gt;&lt;pre&gt;&lt;span class="line"&gt;&lt;span class="built_in"&gt;Math&lt;/span&gt;.round(&lt;span class="string"&gt;'8.47'&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;span class="comment"&gt;//&amp;gt; 8&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;span class="built_in"&gt;Math&lt;/span&gt;.round(&lt;span class="literal"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="line"&gt;&lt;span class="comment"&gt;//&amp;gt; 0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;p&gt;&lt;span id="ezoic-pub-ad-placeholder-192" class="ezoic-adpicker-ad"&gt;&lt;/span&gt;&lt;span class="ezoic-ad ezoic-at-0 banner-1 banner-1192 adtester-container adtester-container-192" data-ez-name="laptrinhcanban_com-banner-1"&gt;&lt;span id="div-gpt-ad-laptrinhcanban_com-banner-1-0" ezaw="580" ezah="400" style="position:relative;z-index:0;display:inline-block;padding:0;width:100%;max-width:1200px;margin-left:auto!important;margin-right:auto!important;min-height:400px;min-width:580px" class="ezoic-ad"&gt;&lt;script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none"&gt;if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[580,400],'laptrinhcanban_com-banner-1','ezslot_3',192,'0','0'])};if(typeof __ez_fad_position != 'undefined'){__ez_fad_position('div-gpt-ad-laptrinhcanban_com-banner-1-0')};</p></span>Tuy nhiên nếu giá trị không phải kiểu số đó không thể chuyển về dạng số, thì bản thân xử lý chuyển kiểu sẽ trả về một giá trị <code>NaN</code>, dẫn đến Math.round cũng sẽ trả về NaN như sau:<p></p><figure class="highlight javascript"><button class="code-copy-btn" title="Copy">Copy</button><table><tbody><tr><td class="code"><pre><span class="line"><span class="built_in">Math</span>.round(<span class="string">'abc'</span>);</span><br><span class="line"><span class="comment">//&gt; NaN</span></span><br></pre></td></tr></tbody></table></figure><p>Các trường hợp trong các giá trị chỉ định có chứa NaN hay undefined thì giá trị NaN cũng sẽ được trả về như sau:</p><figure class="highlight javascript"><button class="code-copy-btn" title="Copy">Copy</button><table><tbody><tr><td class="code"><pre><span class="line"><span class="built_in">Math</span>.round( <span class="literal">NaN</span>);</span><br><span class="line"><span class="comment">//&gt; NaN</span></span><br><span class="line"></span><br><span class="line"><span class="built_in">Math</span>.round(<span class="literal">undefined</span>);</span><br><span class="line"><span class="comment">//&gt; NaN</span></span><br></pre></td></tr></tbody></table></figure><h2 id="Math-ceil-trong-JavaScript"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/lam-tron-so-trong-javascript/#Math-ceil-trong-JavaScript" class="headerlink" title="Math.ceil trong JavaScript"></a>Math.ceil trong JavaScript</h2><p><span style="color:green;font-weight:700">Math.ceil trong JavaScript</span> là một phương thức của Math Object, có tác dụng làm tròn lên giá trị của số chỉ định.</p><p>Cú pháp sử dụng Math.ceil để làm tròn lên như sau:</p><div class="dinhnghia"><p>Math.ceil(value)</p></div><p><span id="ezoic-pub-ad-placeholder-193" class="ezoic-adpicker-ad"></span><span class="ezoic-ad ezoic-at-0 large-leaderboard-2 large-leaderboard-2193 adtester-container adtester-container-193" data-ez-name="laptrinhcanban_com-large-leaderboard-2"><span id="div-gpt-ad-laptrinhcanban_com-large-leaderboard-2-0" ezaw="580" ezah="400" style="position:relative;z-index:0;display:inline-block;padding:0;width:100%;max-width:1200px;margin-left:auto!important;margin-right:auto!important;min-height:400px;min-width:580px" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none">if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[580,400],'laptrinhcanban_com-large-leaderboard-2','ezslot_5',193,'0','0'])};if(typeof __ez_fad_position != 'undefined'){__ez_fad_position('div-gpt-ad-laptrinhcanban_com-large-leaderboard-2-0')};

Trong đó value là giá trị cần làm tròn.

Phương thức Math.ceil sẽ làm tròn lên giá trị của value được chỉ định. Trong trường hợp value chỉ định không thuộc kiểu số thì chúng sẽ được tự động chuyển về giá trị số, trước khi được làm tròn lên.

Nếu không có giá trị nào được chỉ định, hoặc là giá trị NaN, hoặc là một giá trị không thể chuyển về kiểu số được chỉ định, giá trị NaN sẽ được trả về.

Math.ceil sẽ trả về kết quả làm tròn là số nguyên gần nhất lớn hơn số chỉ định. Hãy cùng xem cách Math.ceil trả về giá trị trong một số ví dụ sau đây:

Math.ceil(3);
//> 3


Math.ceil(3.4);
//> 4

Math.ceil(3.5);
//> 4

Math.ceil(3.6);
//> 4

Math.ceil(-3.6);
//> -3

Trong trường hợp trong các giá trị chỉ định chứa giá trị không phải kiểu số, chúng sẽ được chuyển kiểu về dạng số trước khi được làm tròn lên. Ví dụ chuỗi ký tự '8.47' sẽ được chuyển về số 8.47 trước khi được làm tròn lên như sau:

Math.ceil('8.47');
//> 9

Math.ceil(null);
//> 0

Tuy nhiên nếu giá trị không phải kiểu số đó không thể chuyển về dạng số, thì bản thân xử lý chuyển kiểu sẽ trả về một giá trị NaN, dẫn đến Math.ceil cũng sẽ trả về NaN như sau:

Math.ceil('abc');
//> NaN

Các trường hợp trong các giá trị chỉ định có chứa NaN hay undefined thì giá trị NaN cũng sẽ được trả về như sau:

Math.ceil( NaN);
//> NaN

Math.ceil(undefined);
//> NaN

Math.floor trong JavaScript

Math.floor trong JavaScript là một phương thức của Math Object, có tác dụng làm tròn xuống giá trị của số chỉ định.

Cú pháp sử dụng Math.floor để làm tròn xuống như sau:

Math.floor(value)

Trong đó value là giá trị cần làm tròn.

Phương thức Math.floor sẽ làm tròn xuống giá trị của value được chỉ định. Trong trường hợp value chỉ định không thuộc kiểu số thì chúng sẽ được tự động chuyển về giá trị số, trước khi được làm tròn xuống.

Nếu không có giá trị nào được chỉ định, hoặc là giá trị NaN, hoặc là một giá trị không thể chuyển về kiểu số được chỉ định, giá trị NaN sẽ được trả về.

Math.floor sẽ trả về kết quả làm tròn là số nguyên gần nhất nhỏ hơn số chỉ định. Hãy cùng xem cách Math.floor trả về giá trị trong một số ví dụ sau đây:

Math.floor(3);
//> 3


Math.floor(3.4);
//> 3

Math.floor(3.5);
//> 3

Math.floor(3.6);
//> 3

Math.floor(-3.6);
//> -4

Trong trường hợp trong các giá trị chỉ định chứa giá trị không phải kiểu số, chúng sẽ được chuyển kiểu về dạng số trước khi được làm tròn xuống. Ví dụ chuỗi ký tự '8.47' sẽ được chuyển về số 8.47 trước khi được làm tròn xuống như sau:

Math.floor('8.47');
//> 8

Math.floor(null);
//> 0

Tuy nhiên nếu giá trị không phải kiểu số đó không thể chuyển về dạng số, thì bản thân xử lý chuyển kiểu sẽ trả về một giá trị NaN, dẫn đến Math.floor cũng sẽ trả về NaN như sau:

Math.floor('abc');
//> NaN

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách làm tròn số trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> học javascript - lập trình javascript cơ bản>>14. math object trong javascript

Bài sau

Số mũ trong JavaScript (Math.pow, Math.exp)

Profile