Avatar billede mettecarsten Nybegynder
25. februar 2006 - 15:15 Der er 22 kommentarer og
1 løsning

Ændre punktum med komma

Hej eksperter

Jeg har siddet og læst rigtig mange tidligere spg. vedr. dette problem, men uanset hvad, kan jeg bare ikke få det til at virke - derfor prøver jeg med et spg. med mine konkrete data.

Jeg har 2 felter i en mysqldatabase - begge er decimal(10,2). I min asp-kode har jeg følgende (uddrag):

Id = Request.QueryString("Id")
SQL7 = "Select Test1 + Test2 as total from Skyldnere where Id= " & Id

Set rs7 = Conn.Execute(SQL7)

...

<tr>
                                    <td width="150" height="22"><b>Ialt</b></td>
                                    <td width="330" height="22"><%Response.write rs7("total")%></td>
                                </tr>

Resultatet kommer helt korrekt ud, men med punktum i stedet for komma. Jeg har prøvet med "replace-sætninger" af alle mulige arter, men får altid en fejlmelding !!!! F.eks.

Id = Request.QueryString("Id")
SQL7 = "Select Test1 + Test2 as total from Skyldnere where Id= " & Id

Set rs7 = Conn.Execute(SQL7)

replace(total,",",".")

Hvordan skal replace-sætningen se ud? Har det nogen betydning for replace-sætningen, om tallet f.eks. er 10.45 eller 12000.56?

Virkelig på forhånd tak.
Avatar billede keysersoze Ekspert
25. februar 2006 - 15:28 #1
hvilken fejl får de ved replace?

alternativt kan du jo kigge på FormatNumber.
Avatar billede Slettet bruger
25. februar 2006 - 15:32 #2
din replace-sætning, replace(total,",","."), skal vel være:

<%
replace(total,".",",")
%>

- altså lige omvendt...

men det undrer mig nu stadig at du får en fejlmelding om din tidligere replace-sætning...

\Dan
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 15:38 #3
Den kommer med følgende fejlmelding - med min replacesætning:

Microsoft VBScript compilation error '800a0414'

Cannot use parentheses when calling a Sub

/visskyldner.asp, line 54

replace(total,",",".")
----------------------^
Avatar billede softspot Forsker
25. februar 2006 - 15:49 #4
Du skal til tildele returnværdien af replace til en variabel, eller giver det ikke nogen mening at kalde replace. F.eks.

strTotal = replace(total,".",",")
Avatar billede keysersoze Ekspert
25. februar 2006 - 15:57 #5
<td width="330" height="22"><%=replace(rs7("total"),",",".")%></td>
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 16:01 #6
Har lige prøvet kommentaren fra keysersoze 15:57:15 - får det rigtige resultat, men stadig med punktum?

Hvis jeg skal prøve kommentaren fra softspot - hvordan skal <%Response.write rs7("total")%> så se ud?
Avatar billede keysersoze Ekspert
25. februar 2006 - 16:03 #7
hov - det er sådan;

<td width="330" height="22"><%=replace(rs7("total"),".",",")%></td>
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 16:11 #8
Helt kanon keysersoze - det fungerer :-)

Bare lige en lille ting: Hvis beløbet f.eks. er 4,40 (2.20 + 2.20) viser koden kun 9,4 - hvordan kan jeg få den til altid at vise 2 decimaler? Er det også muligt at få et punktum som 1000-adskillelse?

Virkelig igen tak for hjælpen - keysersoze, smid et svar
Avatar billede keysersoze Ekspert
25. februar 2006 - 16:53 #9
så ville jeg nok over i stedet og bruge formatnumber eller endnu bedre hvis det drejer sig om priser formatcurrency
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 16:56 #10
Det lyder meget fornuftigt, men jeg aner ikke, hvad det indebærer :-)

Er det nogle simple koder? Har du koderne eller evt. links?
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 17:27 #12
Tak for linkene.

Jeg vil dog helst holde det i "replace.." - pyt med 1000-adskillensen, men bare der altid kan sættes 2 decimaler efter - er det muligt med koden <%=replace(rs7("total"),".",",")%> og mysql? Husk at smide et svar.
Avatar billede keysersoze Ekspert
25. februar 2006 - 17:38 #13
Prøv engang med FormatNumber(rs7("total"),"2")
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 17:43 #14
Denne kode, <td width="330" height="22"><%FormatNumber(rs7("total"),"2")%></td>, giver denne fejlmeddelelse:

Microsoft VBScript compilation error '800a0414'

Cannot use parentheses when calling a Sub

/visskyldner.asp, line 376

FormatNumber(rs7("total"),"2")
------------------------------^
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 17:45 #15
Her kommer også lige de velfortjente point !
Avatar billede keysersoze Ekspert
25. februar 2006 - 17:48 #16
<td width="330" height="22"><%=FormatNumber(rs7("total"),"2")%></td>
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 17:53 #17
Det hjalp, men resultatet er: 22,000.44 - kan der byttes om på punktum og komma :-)
Avatar billede keysersoze Ekspert
25. februar 2006 - 17:55 #18
session.lcid = 1033 måske
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 17:56 #19
Hvor skal det lige indsættes?
Avatar billede keysersoze Ekspert
25. februar 2006 - 17:59 #20
i toppen af din side
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 18:01 #21
Hjælper desværre ikke at indsætte denne linie?
Avatar billede keysersoze Ekspert
25. februar 2006 - 18:06 #22
hov - dansk er vist også 1030 i stedet for 1033
Avatar billede mettecarsten Nybegynder
25. februar 2006 - 18:09 #23
Yes :-) Det var løsningen! Nu virker det. Virkelig tak for hjælpen - pointene er mere end fuld fortjent !
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
Kurser inden for grundlæggende programmering

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