Avatar billede alexander_j Nybegynder
18. oktober 2003 - 12:26 Der er 11 kommentarer og
1 løsning

Splitte en streng og gøre det til tal værdier

Jeg har en gruppe af tal gemt i en streng i min database efter følgende form:
tal1,tal2,tal3,tal4,tal5,tal6,tal7,tal8,tal9

Og den henter jeg så ind i mit ASP-script - det jeg nu gerne ville var at splitte strengen op og lægge tallene ind i selvsrændige variabler eller eventuelt i et array - men hvordan? og hvordan laver jeg arrayet om til en streng igen bagefter, så strengen i databasen kan blive opdateret?
Avatar billede eagleeye Praktikant
18. oktober 2003 - 13:02 #1
Du kan lave et array med slpit:

str = "tal1,tal2,tal3,tal4,tal5,tal6,tal7,tal8,tal9"
talarray = Split(str, ",")


Du kan lave en streng igen ud fra et array med Join:

str = Join(talarray, ",")
Avatar billede alexander_j Nybegynder
18. oktober 2003 - 13:05 #2
Ok(fandt jeg forøvrigt også selv frem til i mellem tiden - jeg glemte at søge på eksperten først nemlig!) men betragtes værdierne som tal eller tekst bagefter den split?
Avatar billede eagleeye Praktikant
18. oktober 2003 - 13:26 #3
Som tal.
Faktisk bliver den en variant som kan opfattes som tal og tekst.
Avatar billede alexander_j Nybegynder
18. oktober 2003 - 13:31 #4
ok det var jo meget nemt - når jeg nu har fat i dig kan du så lige hjælpe mig med to ting
1. bruges + - * og / for de fire regningsarter i ASP
2. hvor virker denne her ikke:
myarray = Split(rs(Request("opg")), ",")

når denne her gør det:
opg = Request("opg")
myarray = Split(rs(opg), ",")
Avatar billede alexander_j Nybegynder
18. oktober 2003 - 13:31 #5
hvorfor even
Avatar billede eagleeye Praktikant
18. oktober 2003 - 13:37 #6
Så prøv:

myarray = Split(rs(""&Request("opg")), ",")
Avatar billede alexander_j Nybegynder
18. oktober 2003 - 13:44 #7
Det virker - hvad skete der?

Kan du også fortælle mig hvordan man afrunder til to decimaler?
Avatar billede alexander_j Nybegynder
18. oktober 2003 - 13:48 #8
round kan gøre det hvis man ganger og dividere med 100, så kan man få sine to decimaler - mon der findes en nemmere måde!
Avatar billede eagleeye Praktikant
18. oktober 2003 - 13:50 #9
Du kan bruge Formatnumber

tal = Formatnumber(tal,2)

Eller round med ,2:

tal = round(tal,2)
Avatar billede alexander_j Nybegynder
18. oktober 2003 - 14:04 #10
temp = myarray(3) + myarray(4)

Bliver ikke til et tal, men blot de to værdier sat ved siden af hinanden - hvorfor nu det?
Avatar billede eagleeye Praktikant
18. oktober 2003 - 14:10 #11
underligt for i en if sætning vil båre myarray(4)=2 og myarray(4)="2" virke..
Så skal man bruge int omkring tallet.

temp = int(myarray(3)) + int(myarray(4))
Avatar billede alexander_j Nybegynder
18. oktober 2003 - 17:21 #12
Jep - det virkede 1000.000.000 gange tak for hjælpen!
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