2

最初の問題は次のとおりです: 分数を取る -> 15 分に変える -> 15 分は 1 単位 -> 出力単位

今日は一日中ページをまとめていましたが、数分前に脳が機能しなくなり、単位の量を出力する方法について頭を悩ませることができません. このサイトに問題を投稿すると役立つことはわかっていました。

したがって、ユーザーは分数 (時間と分ではなく、分だけ) を入力し、サイトは単位数を出力する必要があります。単位は 15 分です。分は常に最も近い 15 分に切り上げられます。ある種の方法で ceil を使用し、おそらく (?) number_format を使用することはわかっていますが、正しく出力することはできません。どんな助けでも大歓迎です。

4

4 に答える 4

7

試す:

$units = ceil($minutes / 15) 
于 2011-07-07T16:07:53.000 に答える
1

これに対する私の見解:

return (round($minutes / 15) * 15) % 60;

プロデュース:

for($i=0; $i<60; $i++) {
    echo $i . ' -> ' . roundQuarter($i) . '<br/>';
}

function roundQuarter($minutes) {
    return (round($minutes / 15) * 15) % 60;
}

0 -> 0
1 -> 0
2 -> 0
3 -> 0
4 -> 0
5 -> 0
6 -> 0
7 -> 0
8 -> 15
9 -> 15
10 -> 15
11 -> 15
12 -> 15
13 -> 15
14 -> 15
15 -> 15
16 -> 15
17 -> 15
18 -> 15
19 -> 15
20 -> 15
21 -> 15
22 -> 15
23 -> 30
24 -> 30
25 -> 30
26 -> 30
27 -> 30
28 -> 30
29 -> 30
30 -> 30
31 -> 30
32 -> 30
33 -> 30
34 -> 30
35 -> 30
36 -> 30
37 -> 30
38 -> 45
39 -> 45
40 -> 45
41 -> 45
42 -> 45
43 -> 45
44 -> 45
45 -> 45
46 -> 45
47 -> 45
48 -> 45
49 -> 45
50 -> 45
51 -> 45
52 -> 45
53 -> 0
54 -> 0
55 -> 0
56 -> 0
57 -> 0
58 -> 0
59 -> 0
于 2020-10-08T06:48:35.503 に答える
0

これはトリックをしませんか?

$numberOfMinutes = 135;

$numberOfFifteenMinuteUnits = round($numberOfMinutes / 15);

echo $numberOfFifteenMinuteUnits;
于 2011-07-07T16:12:06.337 に答える
0
$rounded = floor($minutes / 15);

1 minute / 15 = 0.0666 -> 0
14 minute / 15 = 0.9333 -> 0;
15 / 15 = 1 -> 1;

これにより、15 分間の範囲で 0->3 が得られます。1 ~ 4 が必要な場合は、ceil()代わりに使用してください。

于 2011-07-07T16:08:55.077 に答える