Trả lời
floor()
sẽ làm tròn số xuống số nguyên gần nhất.
EDIT: Như được chỉ ra bởi Mark bên dưới, điều này sẽ chỉ làm việc cho các giá trị dương, đó là một giả định quan trọng. Đối với các giá trị âm, bạn muốn sử dụng ceil()
- nhưng việc kiểm tra dấu của giá trị đầu vào sẽ cồng kềnh và bạn có thể muốn sử dụng ý tưởng của (int) cast
của Mark hoặc TechnoP thay thế. Hy vọng rằng sẽ giúp.
Tôi không chắc chắn nếu điều này áp dụng cho PHP, nhưng (int) -cast có thể mang lại một số tràn ... Ah, http://stackoverflow.com/questions/300840/force-php-integer-overflow cho biết chúng tôi: PHP tối đa int là 2147483647. – osti
$y = 1.235251;
$x = (int)$y;
echo $x; //will echo "1"
Edit: Sử dụng các diễn viên rõ ràng để (int) là con đường hiệu quả nhất để đến AFAIK này. Việc truyền tới (int) sẽ cắt các chữ số sau dấu "." nếu số lượng là tiêu cực thay vì làm tròn đến số lượng thấp hơn tiêu cực tiếp theo:
echo (int)(-3.75); //echoes "-3";
echo floor(-3.75); //echoes "-4";
diễn viên rõ ràng nhanh hơn sau đó sàn() thực sự, tuy nhiên, khi vi mô như vậy là mối quan tâm của bạn, sau đó bạn không nên sử dụng PHP ở nơi đầu tiên. –
Tôi không đồng ý, nếu tôi đang sử dụng PHP, tôi đã có hiệu suất giảm lớn chỉ bằng cách sử dụng ngôn ngữ thông dịch. Nó vẫn thuộc trách nhiệm của tôi với tư cách là một nhà phát triển, không phải để giới thiệu độ trễ không cần thiết. Nó cũng là một vấn đề của bộ nhớ vì floor() là một cuộc gọi hàm và do đó sẽ yêu cầu bộ nhớ bổ sung. Tùy thuộc vào tình hình, tác động hiệu suất thậm chí có thể khá đáng kể. – selfawaresoup
$y = 1.234;
list($y) = explode(".", "$y");
Vâng, nếu bạn muốn giành chiến thắng một cuộc thi obfuscation, đây sẽ là con đường để đi ... Funny, nhưng tốt hơn không sử dụng này cho ... – selfawaresoup
Nếu đầu vào của bạn chỉ có thể nổi tích cực sau đó như đã đề cập ở công trình sàn.
floor(1.2)
Tuy nhiên nếu số nguyên của bạn có thể âm thì sàn có thể không cung cấp cho bạn những gì bạn muốn: nó luôn luôn làm tròn ngay cả đối với số âm. Thay vào đó, bạn có thể truyền tới int dưới dạng bài đăng khác được đề cập. Điều này sẽ cho bạn kết quả chính xác cho cả số âm và số dương.
(int)-1.2
Ngay cả với một chuỗi, floor() sẽ làm việc vì PHP động gõ miễn là chuỗi không chứa ký tự lạ bên cạnh chữ số và dấu ".". Bắn lên tiền cho điều này sẽ chỉ dẫn đến hiệu suất chậm và lãng phí bộ nhớ. – selfawaresoup
@Techpriester: Đã xóa OK. Nhưng tôi vẫn nghĩ rằng bạn nên sử dụng int, không sàn nếu đầu vào có thể là tiêu cực. Không ai khác đã xem xét đầu vào tiêu cực, mà tôi nghĩ là một sự xấu hổ vì poster không nói rằng đầu vào phải là tích cực. –
@Mark: Đúng vậy. Không nghĩ về điều đó.Tôi đăng (int) chỉ vì lý do hiệu suất :) – selfawaresoup
Bạn có thể sử dụng toán tử bitwise.
Without:
echo 49/3;
>> 16.333333333333
Với "| 0" Bitwise:
echo 49/3 | 0;
>> 16
- 1. Làm cách nào để xóa tất cả các thẻ sau một số thẻ nhất định?
- 2. Xóa tất cả các hàng trong bảng
- 3. Trình gỡ lỗi Nodeclipse dừng trên dòng đầu tiên, ngay cả sau khi đã xóa tất cả các điểm ngắt
- 4. Loại bỏ tất cả các số thập phân trong PHP
- 5. Xóa tất cả khoảng cách trong QGridLayout
- 6. Cách tắt tất cả các điểm ngắt trong Xcode
- 7. Cách xóa tất cả các khoảng trắng trong java
- 8. PHP: Hủy liên kết tất cả các tệp trong thư mục, và sau đó xóa thư mục đó
- 9. Android, Cách xóa tất cả các điểm đánh dấu khỏi Google Map V2?
- 10. Xóa tất cả các ký tự không phải chữ và số bằng cách sử dụng preg_replace
- 11. Xóa tất cả các cam kết trong một chi nhánh sau khi cam kết nhất định
- 12. script php để xóa các tập tin lớn hơn 24 giờ, xóa tất cả các file
- 13. Làm cách nào để xóa tất cả các trường biểu mẫu khỏi mã-đằng sau?
- 14. Làm cách nào để xóa tất cả các điểm ngắt khỏi NetBeans 6.8?
- 15. Cách xóa tất cả QGraphicsItem khỏi QGraphicsScene
- 16. R stat_smooth tất cả các điểm
- 17. Tự động xóa tất cả các tệp sau thời gian x
- 18. Xóa tất cả các điểm ngắt trong giải pháp Visual Studio
- 19. Làm cách nào để xóa tất cả các dấu câu theo sau một chuỗi?
- 20. Magento: cách xóa tất cả các chuyển hướng vĩnh viễn
- 21. Ẩn tất cả các hàng trong bảng sau một số cụ thể?
- 22. 'chọn tất cả' và 'xóa tất cả' bằng selected.js
- 23. Xóa tất cả các ký tự ngoại trừ chữ và số và dấu cách bằng javascript
- 24. Làm thế nào để xóa tất cả các ký tự sau một ký tự trong chuỗi?
- 25. Postgres: xóa tất cả các bảng hoặc xếp hàng xóa?
- 26. php - phá hủy tất cả các phiên
- 27. Xóa tất cả các thuộc tính
- 28. Xóa tất cả các ngắt dòng (BR)
- 29. Cách xóa tất cả các cam kết từ đầu
- 30. PHP hàm đệ quy để xóa tất cả các con các nút nguyên nhân stackoverflow
thể số lượng được tiêu cực? –