Ghi chú. Bài đăng này đã hơn hai năm tuổi và vì vậy thông tin ở đây có thể đã lỗi thời. Nếu bạn phát hiện ra điều gì đó, vui lòng để lại nhận xét và chúng tôi sẽ cố gắng khắc phục
- Chia sẻ cái này
- Chia sẻ cái này
Ngày 11 tháng 4 năm 2009 - Thời gian đọc 2 phút
Tôi đã nói về một hàm JavaScript làm tròn đến số gần nhất, nhưng điều này chỉ hữu ích nếu số cần là 10 [hoặc thừa số] gần nhất. Hàm sau cũng tương tự, nhưng sẽ làm tròn số đến 5 hoặc 10 gần nhất, tùy thuộc vào số nào gần hơn
function round5[x]
{
return [x % 5] >= 2.5 ? parseInt[x / 5] * 5 + 5 : parseInt[x / 5] * 5;
}
Sử dụng chức năng như thế này
alert[round5[12]]; // returns 10
alert[round5[14]]; // returns 15
JavaScript
Được viết bởi. Philip Norton
Phil là người sáng lập và quản trị viên của #. viết mã và là một chuyên gia CNTT làm việc ở Tây Bắc Vương quốc Anh. Tốt nghiệp năm 2003 tại Đại học Aberystwyth với bằng Thạc sĩ Khoa học Máy tính Phil trước đây đã từng làm quản trị viên cơ sở dữ liệu, trên bàn trợ giúp CNTT, huấn luyện viên hệ thống, kiến trúc web, tư vấn khả năng sử dụng, blogger và chuyên gia SEO. Phil có nhiều kinh nghiệm xây dựng và duy trì các trang web PHP cũng như làm việc với các công nghệ liên quan như JavaScript, HTML, CSS, XML, Flex, Apache, MySQL và Linux
Tôi cần một hàm tiện ích nhận giá trị số nguyên [có độ dài từ 2 đến 5 chữ số] để làm tròn đến bội số tiếp theo của 5 thay vì bội số gần nhất của 5. Đây là những gì tôi nhận được
Nội dung chính Hiển thị
function round5[x]
{
return [x % 5] >= 2.5 ? parseInt[x / 5] * 5 + 5 : parseInt[x / 5] * 5;
}
Khi tôi chạy
function round5[x]
{
return Math.ceil[x/5]*5;
}
7, nó cho tôi function round5[x]
{
return Math.ceil[x/5]*5;
}
8, nơi tôi muốn 35. Khi tôi chạy
function round5[x]
{
return Math.ceil[x/5]*5;
}
9, nó cho tôi const roundToNearest5 = x => Math.round[x/5]*5
0, trong khi tôi muốn 40. Khi tôi chạy
const roundToNearest5 = x => Math.round[x/5]*5
1, nó cho tôi const roundToNearest5 = x => Math.round[x/5]*5
2, nơi tôi muốn 135. Khi tôi chạy
const roundToNearest5 = x => Math.round[x/5]*5
3, nó cho tôi const roundToNearest5 = x => Math.round[x/5]*5
4, nơi tôi muốn 140. vân vân
Làm thế nào để tôi làm điều này?
người qua đường
9.5892 huy hiệu vàng30 huy hiệu bạc48 huy hiệu đồng
đã hỏi 23 tháng 9 năm 2013 lúc 6. 57
Amit Erandole Amit Erandole
11. 5k22 huy hiệu vàng64 huy hiệu bạc102 huy hiệu đồng
3
Điều này sẽ làm công việc
function round5[x]
{
return Math.ceil[x/5]*5;
}
Nó chỉ là một biến thể của cách làm tròn thông thường
const roundToNearest5 = x => Math.round[x/5]*5
5 thành bội số gần nhất của hàm const roundToNearest5 = x => Math.round[x/5]*5
6 const roundToNearest5 = x => Math.round[x/5]*5
7, nhưng việc sử dụng const roundToNearest5 = x => Math.round[x/5]*5
8 thay vì const roundToNearest5 = x => Math.round[x/5]*5
9 khiến nó luôn luôn làm tròn lên thay vì xuống/lên theo các quy tắc toán họcđã trả lời 23 tháng 9 năm 2013 lúc 7. 03
9
const roundToNearest5 = x => Math.round[x/5]*5
Điều này sẽ làm tròn số đến 5 gần nhất. Để luôn làm tròn đến 5 gần nhất, hãy sử dụng
alert[round5[12]]; // returns 10
alert[round5[14]]; // returns 15
80. Tương tự như vậy, để luôn làm tròn xuống, hãy sử dụng alert[round5[12]]; // returns 10
alert[round5[14]]; // returns 15
81 thay vì alert[round5[12]]; // returns 10
alert[round5[14]]; // returns 15
82. Sau đó, bạn có thể gọi chức năng này giống như bất kỳ chức năng nào khác. Ví dụ,alert[round5[12]]; // returns 10
alert[round5[14]]; // returns 15
8sẽ trở lại
function round5[x]
{
return [x % 5] >= 2.5 ? parseInt[x / 5] * 5 + 5 : parseInt[x / 5] * 5;
}
2đã trả lời 28 tháng 9 năm 2019 lúc 14. 54
1
Như thế này?
function round5[x]
{
return [x % 5] >= 2.5 ? parseInt[x / 5] * 5 + 5 : parseInt[x / 5] * 5;
}
3đã trả lời 23 tháng 9 năm 2013 lúc 7. 05
1
Tôi đến đây trong khi tìm kiếm thứ gì đó tương tự. Nếu số của tôi là —0, —1, —2 thì giá trị sàn sẽ là —0 và nếu là —3, —4, —5 thì giá trị đó sẽ là —5
Tôi đã đưa ra giải pháp này
function round5[x]
{
return [x % 5] >= 2.5 ? parseInt[x / 5] * 5 + 5 : parseInt[x / 5] * 5;
}
4Và các bài kiểm tra
function round5[x]
{
return [x % 5] >= 2.5 ? parseInt[x / 5] * 5 + 5 : parseInt[x / 5] * 5;
}
5đã trả lời 21 tháng 9 năm 2017 lúc 8. 34
AymKdn AymKdn
2.98922 huy hiệu bạc23 huy hiệu đồng
1
function round5[x]
{
return [x % 5] >= 2.5 ? parseInt[x / 5] * 5 + 5 : parseInt[x / 5] * 5;
}
6Trân trọng Paul
đã trả lời 16 tháng 3 năm 2016 lúc 9. 27
// làm tròn với độ chính xác
function round5[x]
{
return [x % 5] >= 2.5 ? parseInt[x / 5] * 5 + 5 : parseInt[x / 5] * 5;
}
7// làm tròn đến 5 với độ chính xác
function round5[x]
{
return Math.ceil[x/5]*5;
}
0đã trả lời 11 tháng 7 năm 2018 lúc 11. 43
function round5[x]
{
return Math.ceil[x/5]*5;
}
1lý do sử dụng vòng là đầu vào dự kiến có thể là một số ngẫu nhiên
Cảm ơn
đã trả lời 16 tháng 10 năm 2018 lúc 10. 14
Phổ biến Phổ biến
923 huy hiệu đồng
Câu trả lời mới cho câu hỏi cũ, không có
alert[round5[12]]; // returns 10
alert[round5[14]]; // returns 15
83 hay alert[round5[12]]; // returns 10
alert[round5[14]]; // returns 15
84function round5[x]
{
return Math.ceil[x/5]*5;
}
2____33đã trả lời 12 tháng 2 lúc 4. 58
KevinBui KevinBui
75311 huy hiệu bạc26 huy hiệu đồng
Tôi đã giải quyết nó bằng vòng lặp while hoặc bất kỳ vòng lặp nào khác cho vấn đề đó. Điều quan trọng là tăng số lượng nói n, cho đến khi
alert[round5[12]]; // returns 10
alert[round5[14]]; // returns 15
85 Đại loại như thế này