Hướng dẫn how do you round down decimals in javascript? - làm thế nào để bạn làm tròn số thập phân trong javascript?

Làm thế nào tôi có thể làm tròn một số trong JavaScript?

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
6 không hoạt động vì nó làm tròn nó đến số thập phân gần nhất.

Tôi không chắc liệu có cách nào tốt hơn để làm điều đó ngoài việc phá vỡ nó ở điểm thập phân trong việc giữ bit đầu tiên. Phải có...

Hướng dẫn how do you round down decimals in javascript? - làm thế nào để bạn làm tròn số thập phân trong javascript?

Stema

87.6K19 Huy hiệu vàng104 Huy hiệu bạc126 Huy hiệu đồng19 gold badges104 silver badges126 bronze badges

Đã hỏi ngày 16 tháng 9 năm 2009 lúc 23:06Sep 16, 2009 at 23:06

Ben Shelockben ShelockBen Shelock

Huy hiệu vàng 19.4K2626 gold badges91 silver badges124 bronze badges

1

Đã trả lời ngày 16 tháng 9 năm 2009 lúc 23:08Sep 16, 2009 at 23:08

2

Tròn về phía vô cùng tiêu cực -

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
7

+3.5 => +3.0
-3.5 => -4.0

Vòng quay về 0 có thể được thực hiện bằng cách sử dụng

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
8. Các trình duyệt cũ không hỗ trợ chức năng này. Nếu bạn cần hỗ trợ những thứ này, bạn có thể sử dụng
+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
9 cho các số âm và
+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
7 cho các số dương.

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()

Đã trả lời ngày 16 tháng 9 năm 2009 lúc 23:16Sep 16, 2009 at 23:16

Daniel Brücknerdaniel BrücknerDaniel Brückner

58.3K16 Huy hiệu vàng96 Huy hiệu bạc142 Huy hiệu Đồng16 gold badges96 silver badges142 bronze badges

4

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
7 sẽ hoạt động, nhưng nó rất chậm so với việc sử dụng hoạt động bitwise
var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
2:

var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"

Chỉnh sửa

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
7 không chậm hơn sử dụng | nhà điều hành. Cảm ơn Jason s đã kiểm tra công việc của tôi.
+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
7 is not slower than using the | operator. Thanks to Jason S for checking my work.

Đây là mã tôi đã sử dụng để kiểm tra:

var a = [];
var time = new Date().getTime();
for( i = 0; i < 100000; i++ ) {
    //a.push( Math.random() * 100000  | 0 );
    a.push( Math.floor( Math.random() * 100000 ) );
}
var elapsed = new Date().getTime() - time;
alert( "elapsed time: " + elapsed );

Đã trả lời ngày 16 tháng 9 năm 2009 lúc 23:15Sep 16, 2009 at 23:15

Geraldalewisgeraldalewisgeraldalewis

8081 Huy hiệu vàng6 Huy hiệu bạc9 Huy hiệu đồng1 gold badge6 silver badges9 bronze badges

9

Bạn có thể cố gắng sử dụng chức năng này nếu bạn cần làm tròn xuống một số vị trí số thập phân cụ thể

function roundDown(number, decimals) {
    decimals = decimals || 0;
    return ( Math.floor( number * Math.pow(10, decimals) ) / Math.pow(10, decimals) );
}

ví dụ

alert(roundDown(999.999999)); // 999
alert(roundDown(999.999999, 3)); // 999.999
alert(roundDown(999.999999, -1)); // 990

Đã trả lời ngày 13 tháng 2 năm 2014 lúc 16:47Feb 13, 2014 at 16:47

Petr Hurtakpetr HurtakPetr Hurtak

2.1911 Huy hiệu vàng18 Huy hiệu bạc17 Huy hiệu đồng1 gold badge18 silver badges17 bronze badges

3

Làm tròn A

var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
4 về phía
var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
5 (còn gọi là "cắt ngắn phần phân số của nó") có thể được thực hiện bằng cách trừ phần phân số có chữ ký của nó
var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
6:

rounded = number - number % 1;

Giống như

var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
7 (vòng về phía
var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
8) Phương pháp này là hoàn toàn chính xác.

Có sự khác biệt trong việc xử lý

var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
9,
var a = [];
var time = new Date().getTime();
for( i = 0; i < 100000; i++ ) {
    //a.push( Math.random() * 100000  | 0 );
    a.push( Math.floor( Math.random() * 100000 ) );
}
var elapsed = new Date().getTime() - time;
alert( "elapsed time: " + elapsed );
0 và
var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
8 mặc dù:

Math.floor(-0) => -0
-0 - -0 % 1    => +0

Math.floor(Infinity)    => Infinity
Infinity - Infinity % 1 => NaN

Math.floor(-Infinity)     => -Infinity
-Infinity - -Infinity % 1 => NaN

Đã trả lời ngày 29 tháng 10 năm 2014 lúc 23:08Oct 29, 2014 at 23:08

RobertrobertRobert

2.58525 huy hiệu bạc25 huy hiệu đồng25 silver badges25 bronze badges

1

La Mã m

25.4K30 Huy hiệu vàng100 Huy hiệu bạc132 Huy hiệu đồng30 gold badges100 silver badges132 bronze badges

Đã trả lời ngày 16 tháng 9 năm 2009 lúc 23:14Sep 16, 2009 at 23:14

DigitalRossDigitalrossDigitalRoss

Phù bằng vàng 141K2424 gold badges242 silver badges328 bronze badges

7

Để làm tròn xuống vô cùng tiêu cực, sử dụng:

rounded=Math.floor(number);

Để làm tròn xuống 0 (nếu số có thể làm tròn đến số nguyên 32 bit trong khoảng -2147483648 và 2147483647), sử dụng:

rounded=number|0;

Để làm tròn xuống 0 (cho bất kỳ số nào), sử dụng:

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
0

Đã trả lời ngày 3 tháng 3 năm 2014 lúc 21:57Mar 3, 2014 at 21:57

Hướng dẫn how do you round down decimals in javascript? - làm thế nào để bạn làm tròn số thập phân trong javascript?

Mike Godinmike GodinMike Godin

3,4973 huy hiệu vàng25 Huy hiệu bạc28 Huy hiệu đồng3 gold badges25 silver badges28 bronze badges

Hôm nay, đã chơi trò chơi với ai đó và tìm thấy những điều sau đây cũng có vẻ như vậy:

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
1

Để biết thêm thông tin về ca làm việc bên phải (>>)

Tôi phải mất một thời gian để tìm ra những gì nó đang làm: D

Nhưng như đã nhấn mạnh ở trên, theo ý kiến ​​của tôi, Math.floor () hoạt động và trông dễ đọc hơn.

Đã trả lời ngày 5 tháng 3 năm 2012 lúc 14:38Mar 5, 2012 at 14:38

1

Đây là giải pháp tốt nhất tôi thấy hoạt động đáng tin cậy.

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
2

Tín dụng cho: Blog của Jack L Moore

Đã trả lời ngày 29 tháng 7 năm 2020 lúc 17:27Jul 29, 2020 at 17:27

TetradevtetradevTetraDev

15.2k4 Huy hiệu vàng58 Huy hiệu bạc59 Huy hiệu Đồng4 gold badges58 silver badges59 bronze badges

Bạn cần đặt -1 xuống tròn xuống một nửa và sau đó nhân với -1 như ví dụ xuống dưới.

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
3

Đã trả lời ngày 25 tháng 10 năm 2017 lúc 13:00Oct 25, 2017 at 13:00

1

Đây là Math.floor đang được sử dụng trong một ví dụ đơn giản. Điều này có thể giúp một nhà phát triển mới có được ý tưởng làm thế nào để sử dụng nó trong một chức năng và những gì nó làm. Hy vọng nó giúp!

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
4

Đã trả lời ngày 10 tháng 10 năm 2018 lúc 3:09Oct 10, 2018 at 3:09

Hướng dẫn how do you round down decimals in javascript? - làm thế nào để bạn làm tròn số thập phân trong javascript?

+3.5 => +3.0 using Math.floor()
-3.5 => -3.0 using Math.ceil()
5

Hướng dẫn how do you round down decimals in javascript? - làm thế nào để bạn làm tròn số thập phân trong javascript?

Elikill58

3,41622 Huy hiệu vàng19 Huy hiệu bạc39 Huy hiệu đồng22 gold badges19 silver badges39 bronze badges

Đã trả lời ngày 20 tháng 3 lúc 0:20Mar 20 at 0:20

Hướng dẫn how do you round down decimals in javascript? - làm thế nào để bạn làm tròn số thập phân trong javascript?

Làm thế nào để bạn làm tròn trong JavaScript?

Phương thức math.floor () làm tròn một số xuống số nguyên gần nhất.Math. floor() method rounds a number DOWN to the nearest integer.

Làm thế nào để bạn làm tròn đến một vị trí thập phân nhất định trong JavaScript?

Phương thức tofixed () chuyển đổi một số thành một chuỗi.Phương thức tofixed () làm tròn chuỗi vào một số thập phân được chỉ định.The toFixed() method rounds the string to a specified number of decimals.

Làm thế nào để bạn làm tròn một số đến 2 số thập phân trong JavaScript?

Sử dụng phương thức tofixed () để làm tròn một số đến 2 số thập phân, ví dụ:const result = num.tofixed (2).Phương pháp tofixed sẽ làm tròn và định dạng số đến 2 thập phân., e.g. const result = num. toFixed(2) . The toFixed method will round and format the number to 2 decimal places.

Làm thế nào để bạn kiểm soát số thập phân trong JavaScript?

Để hạn chế các vị trí thập phân trong javascript, hãy sử dụng phương thức tofixed () bằng cách chỉ định số lượng số thập phân.use the toFixed() method by specifying the number of decimal places.