Avatar billede andreas13_fam Nybegynder
25. februar 2009 - 11:51 Der er 9 kommentarer og
1 løsning

Problem med round()

Jeg har denne "funktion", hvor jeg har sat variablerne:
$row["raiding"] til 3.5;
$row["stemmer"] til 1;

Hvorefter jeg for denne string:
<img src="stjerne/4,0.gif" alt="4" width="75" height="14"> (1)

Koden ses her ($opion er sat til ""):

<?php
//udregner gennemsnit
if ($opion == "rediger")
{
$raiding  = $row_rediger["raiding"];
$stemmer  = $row_rediger["stemmer"];
$opion = "";
}
else
{
$raiding  = $row["raiding"];
$stemmer  = $row["stemmer"];
}
$gennemsnit = $raiding / $stemmer;

if ($gennemsnit <= 0)
{
$stjerne = "fejl!";
}
else
{
$stjerne = str_replace(".", ",", round($gennemsnit, 1));
    if (strlen($stjerne) == 1)
    {
    $stjerne .= ",0";
    }
}

//Udskriver bedømmelse
//$gennemsnit = str_replace(".", ",", round($gennemsnit, 3));
$snit = "<img src=\"stjerne/" . $stjerne . ".gif\" width=\"75\" height=\"14\" alt=\"" . $gennemsnit . "\"> (" . $stemmer . ")";
?>
Avatar billede andreas13_fam Nybegynder
25. februar 2009 - 11:52 #1
Mit problem er altså at jeg meget gerne skulle have fået:
<img src="stjerne/3,5.gif" alt="3,5" width="75" height="14"> (1)
Avatar billede dkfire Nybegynder
25. februar 2009 - 12:12 #2
Du kunne prøve:
$gennemsnit = (float)((float)$raiding/(float)$stemmer);

evt med:
echo "Gennemsnit: ".$gennemsnit;
Avatar billede olebole Juniormester
25. februar 2009 - 12:13 #3
<ole>

Et filnavn med et komma i ...?!??!!!

/mvh
</bole>
Avatar billede dkfire Nybegynder
25. februar 2009 - 12:15 #4
Der ud over vil jeg foreslå dig at vise den kode som du tester med, da:
$snit = "<img src=\"stjerne/" . $stjerne . ".gif\" width=\"75\" height=\"14\" alt=\"" . $gennemsnit . "\"> (" . $stemmer . ")";
aldrig vil give:
<img src="stjerne/4,0.gif" alt="4" width="75" height="14"> (1)
Avatar billede andreas13_fam Nybegynder
25. februar 2009 - 13:32 #5
@olebole - må et filnavn da ikke indeholde komma

ved ikke helt hvorfor alt="" er kommet på den forkerte side, men nu fandt jeg da fejlen. En int celle i en MySQL database kan ikke indeholde "komma" (.) derfor runder den selv op.

Nogen der skal have point, for et gennemkik.
Avatar billede olebole Juniormester
25. februar 2009 - 14:04 #6
Umiddelbart tror jeg faktisk ikke, det strider mod HTTP, men ved, det ofte skaber problemer - så jeg ville mene, det er at sætte vand over til øretæver  =)
Avatar billede olebole Juniormester
25. februar 2009 - 14:05 #7
En hurtig googling synes at bekræfte tesen:
    http://www.google.dk/search?hl=da&q=http+comma+in+filename&meta=&aq=f&oq=
Avatar billede andreas13_fam Nybegynder
25. februar 2009 - 15:46 #8
Jamen så fjerne jeg da bare kommaet, der skal bare renames 51 filer :D
Avatar billede dkfire Nybegynder
25. februar 2009 - 21:10 #9
En celle med type integer, giver lidt sig selv at den IKKE kan indeholde decimaltal. Til det formål skal du bruge float.
Avatar billede andreas13_fam Nybegynder
27. februar 2009 - 10:45 #10
Ja det kan der være noget om :D
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