2013-03-08 48 views
5

Vì vậy, tôi có khoảng thời gian được xác định trước, có thể là 5, 10, 15, v.v.Số làm tròn đến khoảng cách gần nhất

Nếu ai đó nhập 20 tôi cần nó tròn lên theo khoảng thời gian. Vì vậy, nếu đó là một khoảng thời gian 15 phút, nó sẽ tự động đi đến 30, nếu đó là một khoảng thời gian 45 phút, nó sẽ đi đến 45

Về cơ bản bất cứ điều gì < = khoảng thời gian trở thành khoảng thời gian bất cứ điều gì Inbetween khoảng trở thành khoảng thời gian cao nhất tiếp theo

Tôi không muốn viết một số chức năng php phức tạp để làm điều này khi có thể có một cách đơn giản tôi chỉ không nhận thức được.

Trả lời

13

Làm tròn lên sẽ là:

$ceiled = $interval * ceil($value/$interval); 
+0

Điều này có hiệu quả, cảm ơn! –

+0

Nếu khoảng thời gian là số thập phân thì sao? – Ari

+1

@ari: vẫn hoạt động. 'ceil (3.3/1.6) * 1.6 = 3 * 1.6 = 4.8' – Wrikken

0
roundedInput = (Ceiling(Input/Interval)) * Interval 

Vì vậy, với một đầu vào của 20 và một khoảng thời gian là 15, bạn sẽ nhận được:

20/15 = 1,33

1.33 được làm tròn = 2

2 * 15 = 30

0

$ Tròn = Ceil ($ value/$ interval) * $ interval;

Các vấn đề liên quan