Avatar billede totalpc Seniormester
08. september 2018 - 12:19 Der er 3 kommentarer og
1 løsning

gram eller kg afhængig af tal

Hej

Jeg viser nogle tal fra min database på en side sådan her:
<?php echo $storfanger->maxvaegt ?> gram</td>
Tallet står i databasen som gram, fx
520
14500
Så det bliver også vist i gram lige nu.
Hvordan kan jeg lave noget så den bliver således:
520 gram
14,500 kg
Avatar billede olsensweb.dk Ekspert
08. september 2018 - 13:19 #1
lav en function, der deler tallet ned.
<?php
function prefix($tal){
        $PreArray = array ('gram','kg');
           
        $i=0;
        for(; $tal>1000.0;$i++){
            $tal /= 1000.0;
        }
        $pre = $PreArray[$i];
       
        // http://php.net/manual/en/function.number-format.php
        $tal = number_format($tal, 3, ',', ' ');
       
        return array("tal"=>$tal, "prefix"=>$pre);       
}
$tal1=520;
$ar = prefix($tal1);
echo "<br>". $tal1. "g bliver til ".$ar['tal']." ".$ar['prefix'];


$tal2=14500;
$ar = prefix($tal2);
echo "<br>". $tal2. "g bliver til ".$ar['tal']." ".$ar['prefix'];
?>
Avatar billede totalpc Seniormester
08. september 2018 - 17:27 #2
Det er smart og det virker fint...Men … kan man undgå decimaler når vi taler om gram. For det ser lidt spøjst ud.
1,375 kg
1,220 kg
990,000 gram
530,000 gram
Avatar billede olsensweb.dk Ekspert
08. september 2018 - 17:56 #3
nemt, en simpel if sætning
<?php
function prefix($tal){
        $PreArray = array ('gram','kg');
           
        $i=0;
        for(; $tal>1000.0;$i++){
            $tal /= 1000.0;
        }
        $pre = $PreArray[$i];
       
        if($i>0) $tal = number_format($tal, 3, ',', ' ');
       
        return array("tal"=>$tal, "prefix"=>$pre);       
}
$tal1=520;
$ar = prefix($tal1);
echo "<br>". $tal1. "g bliver til ".$ar['tal']." ".$ar['prefix'];


$tal2=14500;
$ar = prefix($tal2);
echo "<br>". $tal2. "g bliver til ".$ar['tal']." ".$ar['prefix'];
?>
Avatar billede totalpc Seniormester
08. september 2018 - 18:16 #4
Fantastisk...tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester