/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
sammenligne numre!
Fra : Jørgen Müller


Dato : 16-11-03 09:49

Hej Gruppe

Jeg er stødt ind i et problem med sammenligning af decimal tal.
Jeg henter f.eks. 2.5 fra en formular og tester med isNumeric for derefter
at køre en Replace hvor jeg skifter punktum ud med komma.
Fra en SQL Server henter jeg et tilsvarende nummer som også er testet med
isNumeric

vgt = Replace(vaegt,".",",")
If rs("Vægt") < vgt Then 'er sand uanset hvilke kg jeg sætter ind?

Har prøvet med Ccur, Clng og Cdbl, men her vil 2,5 altid være mere end 3 og
databasen
gemmer ikke 3,0

Tester på min XP og ikke på serveren da det først skal være færdigt til
nytår.
Nogen forslag?
--
Med Venlig Hilsen
Jørgen Müller



 
 
VagnT (16-11-2003)
Kommentar
Fra : VagnT


Dato : 16-11-03 10:17

Jørgen Müller wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej Gruppe

> Har prøvet med Ccur, Clng og Cdbl, men her vil 2,5 altid være mere end 3 og
> databasen
> gemmer ikke 3,0
>
> Tester på min XP og ikke på serveren da det først skal være færdigt til
> nytår.
> Nogen forslag?
> --
> Med Venlig Hilsen
> Jørgen Müller
>
>
Prøv at gange begge tal med 1000 hvis du har 3 decimaler, 100 hvis du har 2
decimaler o.s.v. før du laver sammenligningen. Det plejer at virke både på
MSSQL, MySQL, DB2 og Access databaser.

mvh

VagnT

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørgen Müller (16-11-2003)
Kommentar
Fra : Jørgen Müller


Dato : 16-11-03 10:31

VagnT skrev:
>Prøv at gange begge tal med 1000 hvis du har 3 decimaler, 100 hvis du har 2
>decimaler o.s.v. før du laver sammenligningen. Det plejer at virke både på
>MSSQL, MySQL, DB2 og Access databaser.

Lyder som en god ide, men jeg har flyde decimal, og kan derfor ikke vide
hvor mange decimaler der er?

3,0 kg. bliver skrevet som 3 i databasen men der er også mulighed for at
skrive 3,125 kg.
--
Med Venlig Hilsen
Jørgen Müller



Jørgen Müller (16-11-2003)
Kommentar
Fra : Jørgen Müller


Dato : 16-11-03 10:49

VagnT skrev:
>Prøv at gange begge tal med 1000 hvis du har 3 decimaler, 100 hvis du har 2
>decimaler o.s.v. før du laver sammenligningen. Det plejer at virke både på
>MSSQL, MySQL, DB2 og Access databaser.

Har lavet nogle forsøg ved at gange med 10 og det ser ud til at virke.

Mange tak for hjælpen Vagn.

PS. Det drejer sig om fiskeri og selv om medlemmerne er gode, er det
alligevel sjældent de er over 20 kg.

--
Med Venlig Hilsen
Jørgen Müller



Bertel Lund Hansen (16-11-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 16-11-03 12:54

Jørgen Müller skrev:

>Jeg henter f.eks. 2.5 fra en formular og tester med isNumeric for derefter
>at køre en Replace hvor jeg skifter punktum ud med komma.

Hvorfor? Kan du ikke vente med det til tallene skal præsenteres?

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Jørgen Müller (16-11-2003)
Kommentar
Fra : Jørgen Müller


Dato : 16-11-03 13:09

Bertel skrev:
>Hvorfor? Kan du ikke vente med det til tallene skal præsenteres?

Nej for vægten(udtrækket) bruges til at opdatere et felt [visStorfanger] til
ja/nej.

http://www.smaabaadsklub.dk/sjaelland/klubmester/top10ssk.asp

Denne liste bruges til at vise de 10 største fisk af hver art, men fra næste
år må hvert medlem kun optræde på listen een gang indenfor hver art.

Alle data kommer fra en formular, og der er mulighed for både at redigere og
indsætte data fra samme formular og samme asp-side som nedenstående data
stammer fra.

Jeg laver derfor et udtræk:
"SELECT T_Fangst.Fiskeart, T_Fangst.Vægt, T_Fangst.PersonID, " &_
"T_Fangst.FangstId, T_Fangst.visStorfanger FROM T_Fangst " &_
"WHERE T_Fangst.PersonID = " & PersID & " AND T_Fangst.Fiskeart = " &
Fiskeart &_
" AND T_Fangst.visStorfanger = 'Ja'"

Hvorefter jeg sammenligner
If (rs("Vægt")* 10) < vgt Then
visStorfanger = "Ja"
Else
visStorfanger = "Nej"
End If
For til sidst at ændre visStorfanger for den post, jeg lige har hentet.
If (rs("Vægt")*10) < vgt Then
SQLr = "UPDATE T_Fangst SET visStorfanger = 'Nej' WHERE FangstId = " &
rs("FangstId")
myConn.Execute(SQLr)
End If

Til sidst tilføjer jeg så den nye post til databasen, eller redigerer en i
forvejen indtastet rapport.
--
Med Venlig Hilsen
Jørgen Müller



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste