afrondendollargetal-afronding

Gesponsorde koppelingen

PHP script bestanden

  1. afrondendollargetal-afronding

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php

// functie: afronden()
// gebruik: afronden($getal, $afronding);
// return: $double;
// auteur: Eddy Erkelens

// functie afronden($getal, $afronding)

function afronden($getal, $afronding)
    {

    // controleer of getallen een getal zijn (zo nee: tijd?)
    if(!is_double($getal) AND !is_int($getal) AND (!is_double($afronding) AND !is_int($afronding)))
        {
        
        // als dit getal een : bevat (dus een tijd is, welke ook am/pm kan bevatten)
        if(strpos($getal, ":") AND strpos($afronding, ":"))
            {
            
            // bereken tijd
            $tijd = strtotime("1-1-1970 " . $getal) + 3600;
            $afronding = strtotime("1-1-1970 " . $afronding) + 3600;
            $tijd_afgerond = afronden($tijd, $afronding) - 3600;
            
            // maak format (afhankelijk van am/pm)
            $format = "H:i:s";
            //if(strpos($getal, "am") OR strpos($getal, "pm")){$format .= " a";}

            // waarde returnen

            return date($format, $tijd_afgerond);    
            }

        else
            {
            // gewoon een loze string
            return $getal;
            }
        }

    else
        {
        // controleer of de getallen geen 0 zijn
        if ($getal == 0 OR $afronding == 0)
            {

            return $getal;
            }

        
        // bereken getallen
        $deel_voor_komma = intval($getal / $afronding);
        $deel_na_komma = ($getal / $afronding) - intval($deel_voor_komma);
        $rest = $deel_na_komma * $afronding;
        
        // als $verschil groter is dan de helft van $afronding...
        if ($rest >= ($afronding / 2 ))
            {

            $afgerond = $getal + ($afronding - $rest);        
            }

        // als $verschil dus kleiner is dan de helft van $afronding...
        else
            {
            $afgerond = $deel_voor_komma * $afronding;
            }

        
        // geef resultaat terug
        return $afgerond;
        }
    }






// TESTEN
// tijd testen

echo '<h2>Tijden afronden</h2>';
$tijden = array("0:00:01", "23:29:37", "02:33", "13:23:13", "23:39", "1:19:58", "23:15:58", "1:15 am", "1:15 pm");
$afronding = "0:30:30";
if(!empty($_GET['afronding'])){$afronding = $_GET['afronding'];}
foreach($tijden as $tijd)
    {

    echo "<pre>Afronden(\"".$tijd."\", \"".$afronding."\") \t\t==\t" . afronden($tijd, $afronding) . "</pre>";    
    }


// getallen testen
echo '<h2>Getallen afronden</h2>';
$i = 0;
$eind = 100;
$afronding = 20;
if(!empty($_GET['afronding'])){$afronding = $_GET['afronding'];}
$stap = 3;
while($i<$eind)
    {

    echo "<pre>Afronden($i, $afronding) \t==\t " . afronden($i, $afronding) . "</pre>";
    $i = $i + $stap;
    }

?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.