Avatar billede backside Nybegynder
02. maj 2005 - 15:45 Der er 19 kommentarer og
1 løsning

Decimal problem ved brug af AVG

Jeg har endelig fået mit lille "skytte resultat system" til at virke.
Men jeg kan ikke lige lure hvordan jeg får udskrevet gennemsnit med kun 2 decimaler.

Og så vil jeg gerne vide om man kan redigere autoindex, og hvor den gemmer de info.
Problemet er hvis jeg sletter en række, så passer antallet ikke mere.
Avatar billede backside Nybegynder
02. maj 2005 - 15:51 #1
Har lige lavet en test der viser begge problemer.
www.backside.dk/std_pistol
Avatar billede arne_v Ekspert
02. maj 2005 - 15:52 #2
Normnalt vil man vel lade sin applikation PHP/ASP/Java/C#/whatever stå for
den formatering.
Avatar billede arne_v Ekspert
02. maj 2005 - 15:53 #3
auto_increment virker på den måde. eneten må du gøre som de fleste og leve med
det eller så må du generere de numre selv så de genbruger numre.

(hvad vil du gøre hvis du sletter et nummer som ikke er det højeste ??)
Avatar billede backside Nybegynder
02. maj 2005 - 15:56 #4
ok, tak for det.

Men hvad så med decimalerne?
Skal jeg over i en anden kategori med det problem?
Avatar billede arne_v Ekspert
02. maj 2005 - 16:03 #5
Prøv:

printf("%.2f",$avg);
Avatar billede zapzap Nybegynder
02. maj 2005 - 16:03 #6
Enig med arne om at gøre det i præsentations-laget ;-), men hvis du skal gøre det i SQL

Nu er jeg ikke MySQL expert, men det burde virke med en funktion. F.eks. at CAST'e det til en type med kun 2 decimaler. Som inspiration virker det her i SQL Server:
select cast(1.0/3 as numeric(5,3))  -- 3 decimaler
select cast(1.0/3 as numeric(5,2))  -- 2 decimaler
?
Avatar billede backside Nybegynder
02. maj 2005 - 16:27 #7
zapzap>> Jeg har prøvet mig frem med CAST, uden held. 
Vender tilbage senere, skal ned og se om jeg kan hæve gennemsnittet lidt.  ;)

Foreløbig tak for hjælpen.
Avatar billede arne_v Ekspert
02. maj 2005 - 16:33 #8
Har du prøvet 16:03:04 ?
Avatar billede backside Nybegynder
02. maj 2005 - 22:07 #9
Jo, har prøvet, men kan ikke. ;)
Avatar billede backside Nybegynder
02. maj 2005 - 22:08 #10
....den giver mig et resultat der hedder 4.00
Hvor den får det fra aner jeg ikke
Avatar billede arne_v Ekspert
02. maj 2005 - 22:10 #11
Jeg prøver lige at lave et eksempel i PHP.
Avatar billede arne_v Ekspert
02. maj 2005 - 22:18 #12
Det virker ok hos mig.
Avatar billede arne_v Ekspert
02. maj 2005 - 22:18 #13
<?php
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test") or die(mysql_error());
$rs = mysql_query("SELECT * FROM T1") or die(mysql_error());
print "<table border>\n";
while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) {
    print "<tr><td>" . $row["F1"] . "</td><td>" . $row["F2"] . "</td></tr>\n";
}
print "</table>\n";
mysql_free_result($rs);
$avg = mysql_result(mysql_query("SELECT AVG(F1) FROM T1"), 0, 0);
print $avg . "<br>\n";
printf("%.2f<br>\n",$avg);
mysql_close($con);
?>
Avatar billede arne_v Ekspert
02. maj 2005 - 22:18 #14
<table border>
<tr><td>1</td><td>A</td></tr>
<tr><td>2</td><td>BB</td></tr>
<tr><td>3</td><td>CCC</td></tr>
<tr><td>4</td><td>DDDD</td></tr>
<tr><td>5</td><td>EEEEE</td></tr>
</table>
3.0000<br>
3.00<br>
Avatar billede backside Nybegynder
02. maj 2005 - 22:23 #15
Takker, ser lige på det
Avatar billede backside Nybegynder
02. maj 2005 - 22:37 #16
http://www.backside.dk/std_pistol/test.php

Så ligner det jo noget.
Det er sku ok, smid et svar.  Takker for hjælpen til dem som bidrog.
Avatar billede arne_v Ekspert
02. maj 2005 - 22:40 #17
Så skal du bare lige have dit oprindelige pæne design flette sammen med min kode.
Avatar billede arne_v Ekspert
02. maj 2005 - 22:40 #18
og svar
Avatar billede backside Nybegynder
02. maj 2005 - 22:45 #19
"pæne design.." er det ikke lige at gå over stregen?  *G*
Det var bare for lige at holde styr på det hele.
Avatar billede backside Nybegynder
02. maj 2005 - 22:47 #20
Nææ, det jeg mangler er at få hævet mit snit til over 275.  ;-)
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
Computerworld tilbyder specialiserede kurser i database-management

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