Avatar billede iphase Nybegynder
23. september 2003 - 04:59 Der er 7 kommentarer og
1 løsning

sprintf optimering af tids output

Hej super aften koger eksperter, her er en til natte ravnene :)

Kan følgende ikke optimere lidt? jeg forestiller mig at man kunen få det ned på en linje, men min erfaring rækker kun så langt som hertil.


    if($tid == 1 || $tid == 2 || $tid == 3 || $tid == 4 || $tid == 5 || $tid == 6){

        $tid= sprintf('Varighed %d %s', $tid, $tid == 1 ? 'time':'timer');

    }else{
   
        $tid= sprintf('Varighed %01.2f %s', $tid, $tid > 1 ? 'timer':'minutter');

    }
Avatar billede iphase Nybegynder
23. september 2003 - 05:00 #1
det er ikke medvilje at jeg kun tjeker op til "6", det er bare så det ikke blev så langt. det må gerne kunne checke et uendeligt nummer.. den skal bare se om det er heltal.
Avatar billede nicklasb Nybegynder
23. september 2003 - 07:11 #2
ved ikke om der er en disideret funktion til det.. Men i et sådan tilfælde havde jeg bare lavet mig min egen udvej.. Hvad med fx:

if(floor($tid) == $tid){

?
Avatar billede nicklasb Nybegynder
23. september 2003 - 07:14 #3
for sin vis også lige meget om du bruger round, ceil eller floor
Avatar billede soreno Praktikant
23. september 2003 - 07:16 #4
Hvad med at teste på om nedre/øvre grænse er nået (større end 0 og mindre end 7) ?

F.eks. noget ala (jeg er ikke stærk i PHP syntaks):
if(($tid > 0) && ($tid < 7))
{
..
}
Avatar billede sostack Nybegynder
23. september 2003 - 09:17 #5
if(is_int($tid))
{

}

//sostack
Avatar billede tipsen Nybegynder
23. september 2003 - 10:48 #6
Jeg forstår faktisk ikke helt, hvad du ønsker - selve kodens funktionalitet mht. timer vs. minutter er jeg ikke helt med på - hvis du kan forklare det, vil jeg da gerne give et bud :-)
Avatar billede iphase Nybegynder
23. september 2003 - 11:07 #7
Altså output af funktionen bliver f.eks
"Varighed 1 time"

men sostack har løst problemet :)

ikke fordi der var et problem.. villa bare gøre hele koden mere "kompakt".
Avatar billede tipsen Nybegynder
23. september 2003 - 11:22 #8
og output hvis det er et lille kommatal bliver eks:

Varighed 0.87 minutter

-det giver da ikke mening?
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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