Làm tròn số trong PHP với ceil(), floor() và round()

Một tình huống phổ biến là bạn muốn làm tròn số trong PHP, trong trường hợp đó bạn cần sử dụng một trong các hàm làm tròn lựa chọn của PHP: ceil(), floor()round().

Mình xin được giới thiệu tới các bạn trong bài viết này.

ceil()floor()

Cả ceil()floor() chỉ lấy một tham số – số để làm tròn. ceil() lấy số và làm tròn nó thành số nguyên gần nhất trên giá trị hiện tại của nó, trong khi floor() làm tròn nó thành số nguyên gần nhất dưới giá trị hiện tại của nó. Hãy xem ví dụ dưới đây:

Sau khi thực thi đoạn mã trên, $ceiled sẽ là 5 và $floored sẽ là 4.

round()

Hàm khác có sẵn là round(), nhận hai tham số – số để làm tròn và số chữ số thập phân để làm tròn. Nếu một số nằm đúng nửa khoảng cách giữa hai số nguyên, round() sẽ luôn làm tròn.

Như bạn có thể thấy, 4,5 được làm tròn thành 5, trong khi 4,4999 được làm tròn thành 4.

Dòng bốn ($d) có tham số thứ hai được sử dụng, điều này cho thấy rất dễ làm tròn đến một số chữ số thập phân nhất định.

Lưu ý rằng ở dòng năm ($e), chúng ta nhận được 4.1235 khi làm tròn đến bốn chữ số thập phân, vì PHP xem xét thêm một chữ số để quyết định chữ số cuối cùng. Nghĩa là, nếu số của chúng ta là 4.12344, làm tròn đến bốn chữ số thập phân sẽ cho chúng ta 4.1234, nhưng vì chữ số thứ năm là số 5, luôn được làm tròn, thay vào đó chúng ta thấy mình có 4.1235.

Ví dụ cuối cùng ($f), là một tình huống phổ biến mà những người sử dụng round() gặp phải.

Hãy tưởng tượng bạn đang tổ chức một chuyến đi cắm trại lớn và có 50 người đã đăng ký.

Bạn cần tính xem bạn cần thuê bao nhiêu lều để cắm trại, vì vậy bạn lấy số người là 50 và chia cho sức chứa tối đa của một chiếc lều cắm trại là 8 => (50/8 = 6.25), sau đó làm tròn số để có được một số nguyên và bạn thấy kết quả là 6.

Vấn đề ở đâu? Kết quả thực tế của 50/8 là 6,25 – bạn cần sáu chiếc lều để cho 50 người nghỉ ngơi và bạn sẽ chỉ đặt 6 cái vì round() làm tròn thành 6 thay vì 7 vì nó gần hơn.

Vì bạn không thể thuê sáu chiếc lều rưỡi (6.5), bạn phải làm gì? Giải pháp rất đơn giản: trong những tình huống như thế này, bạn sử dụng ceil(). Cả ba hàm làm tròn đều hữu ích theo đúng nghĩa của chúng, vì vậy hãy nhớ cố gắng ghi nhớ tất cả chúng.

Tài liệu tham khảo

» Hàm FLOOR
» Hàm ROUND
» Hàm CEIL

Ví dụ tổng hợp:

10 mẹo để trở thành một nhà phát triển tuyệt vời Cách xóa một item khỏi Array trong JavaScript Giới thiệu và sử dụng CSS Variables Cách cài đặt MongoDB trên Ubuntu 18.04 Thêm Form tính giá sản phẩm trong Woocommerce WordPress BroadcastChannel API: Giao tiếp giữa các tab hoặc cửa sổ trong trình duyệt Hướng dẫn deploy project Nuxt JS lên VPS 😍 Giới thiệu PM2 – Trình quản lý các ứng dụng NodeJS Thêm meta tags cho website Nuxt JS Tạo Blog đơn giản với Nuxt JS và WordPress API

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site