30. januar 2005 - 17:28Der er
4 kommentarer og 1 løsning
Fjern komma og tal efter komma fra udregnet gennemsnit
Hey Eksperter...
Jeg har denne kode til at udregne og udskrive gennemsnittet af to felter fra databasen: ----------------------------------------- <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db/db.mdb")
strSQL = "SELECT * FROM [elements] where [id] = "& request.querystring("id") &""
Set rs = myConn.Execute(strSQL)
Session("rates") = rs("rates")
strSQL = "SELECT (rating/rates) AS gennemsnit FROM [elements] WHERE [id] = "& request.querystring("id") &""
Set rsrates = myConn.Execute(strSQL)
Response.Write rsrates("gennemsnit")
myConn.Close Set Conn = Nothing %> ----------------------------------------- Men det meste af tiden er der en 6-9 kommaer efter hel-tallet... Hvordan kan jeg undgå, at den skriver kommaer efter?
Muligvis skal du formatere tallet tilbage til string, jeg tror det ikke, men hvis ovenstående ikke fungerer, skal du have: Response.Write CStr(CInt(rsrates("gennemsnit"))) Response.Write CStr(FormatNumber(rsrates("gennemsnit"),0))
Hvis jeg lige må blande mig, så er FormatNumber faktisk for avanceret. Den er der for at kunne udskrive tal med et bestemt antal decimaler, og med tusindtalsseparator:
Cint bruges til at konvertere andre udtrykstyper til integers.
Det korrekte ville være at bruge Fix eller Int: Response.Write Fix(rsrates("gennemsnit"))
Men alle tre metoder giver det rigtige resultat, blot er det god praksis at bruge funktionerne til det de er lavet til. At bruge formatnumber hvis man ikke vil have formateret tallet, og at bruge Cint på et udtryk der allerede er et tal, det er lidt forkert.
Response.Write Fix(rsrates("gennemsnit"))
Synes godt om
Ny brugerNybegynder
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.