Avatar billede ingeman Seniormester
23. januar 2007 - 19:27 Der er 21 kommentarer og
1 løsning

Check om streng inderholder et punktum

streng="1.0"

en function som returner true hvis streng indeholder punktum.
Avatar billede erikjacobsen Ekspert
23. januar 2007 - 19:30 #1
Avatar billede madeindk Nybegynder
23. januar 2007 - 19:42 #2
<%
streng = "1.0"

If InStr(streng,".") > 0 Then
  streng = True
Else
  streng = False
End If

Response.Write streng
%>
Avatar billede ingeman Seniormester
23. januar 2007 - 20:10 #3
tak
Avatar billede windcape Praktikant
23. januar 2007 - 20:11 #4
<%
Response.Write (InStr(streng,".") > 0)
%>

:p
Avatar billede ingeman Seniormester
23. januar 2007 - 20:30 #5
Function BeaufortSkala(msek)
    if (msek>"0.02") and (msek<"0.2")        then BeaufortSkala="Stille"
    if (msek>"0.3") and (msek<"1.5")         then BeaufortSkala="Næsten stille"
    if (msek>"1.6") and (msek<"3.3")         then BeaufortSkala="Svag vind"
    if (msek>"3.4") and (msek<"5.4")         then BeaufortSkala="Let vind"
    if (msek>"5.5") and (msek<"7.9")         then BeaufortSkala="Jævn vind"
    if (msek>"8.0") and (msek<"10.7")     then BeaufortSkala="Frisk vind"
    if (msek>"10.8") and (msek<"13.8")     then BeaufortSkala="Hård vind"
    if (msek>"13.9") and (msek<"17.1")     then BeaufortSkala="Stiv kuling"
    if (msek>"17.2") and (msek<"20.7")     then BeaufortSkala="Hård kuling"
    if (msek>"20.8") and (msek<"24.4")     then BeaufortSkala="Stormende kuling"
    if (msek>"24.5") and (msek<"28.4")     then BeaufortSkala="Storm"
    if (msek>"28.5") and (msek<"32.6")     then BeaufortSkala="Stærk storm"
    if (msek>"32.7") and (msek<"50.0")     then BeaufortSkala="Orkan"

end function

jeg sender en streng ind - men det der bliver returneret er forkert ?
Avatar billede ingeman Seniormester
23. januar 2007 - 20:37 #6
jeg send 2.3 ind og der bliver returneret Hård kuling
Avatar billede windcape Praktikant
23. januar 2007 - 20:42 #7
uhm..

du bruger > og < hvilket kun kan validerer tal. Og du sammenligner med en streng. Da klart det er forkert :p
Avatar billede windcape Praktikant
23. januar 2007 - 20:43 #8
hvis du sender 2.3 ind som tal, så skal du bare fjerne dine quotes ( " " ) omkring dine værdier.

Derudover bør du benytte else if
Avatar billede madeindk Nybegynder
23. januar 2007 - 20:46 #9
Nej windscape, det er ligemeget - det skal være en string når der er komma i :-) Jeg har lige testet denne her og det virker glimrende, har rettet det hele til ElseIf.

<%
Function BeaufortSkala(msek)

if (msek > "0.02") and (msek < "0.2") then
  BeaufortSkala="Stille"
ElseIf (msek>"0.3") and (msek<"1.5") then
  BeaufortSkala="Næsten stille"
ElseIf (msek>"1.6") and (msek<"3.3") then
  BeaufortSkala="Svag vind"
ElseIf (msek>"3.4") and (msek<"5.4") then
  BeaufortSkala="Let vind"
ElseIf (msek>"5.5") and (msek<"7.9") then
  BeaufortSkala="Jævn vind"
ElseIf (msek>"8.0") and (msek<"10.7") then
  BeaufortSkala="Frisk vind"
ElseIf (msek>"10.8") and (msek<"13.8") then
  BeaufortSkala="Hård vind"
ElseIf (msek>"13.9") and (msek<"17.1") then
  BeaufortSkala="Stiv kuling"
ElseIf (msek>"17.2") and (msek<"20.7") then
  BeaufortSkala="Hård kuling"
ElseIf (msek>"20.8") and (msek<"24.4") then
  BeaufortSkala="Stormende kuling"
ElseIf (msek>"24.5") and (msek<"28.4") then
  BeaufortSkala="Storm"
ElseIf (msek>"28.5") and (msek<"32.6") then
  BeaufortSkala="Stærk storm"
ElseIf (msek>"32.7") and (msek<"50.0") then
  BeaufortSkala="Orkan"
End If

End Function
%>
Avatar billede ingeman Seniormester
23. januar 2007 - 21:02 #10
virker bare
Avatar billede windcape Praktikant
23. januar 2007 - 21:42 #11
Det er fordi du skal bruge engelsk notation, dvs . (punktum) istedet for komma for at lave en float.
Avatar billede erikjacobsen Ekspert
23. januar 2007 - 22:33 #12
"virker bare" ??  Koden fra 23/01-2007 20:46:33 virker da ikke.
Avatar billede ingeman Seniormester
24. januar 2007 - 18:36 #13
Den her ser ud til at virke

Function BeaufortSkala(msek)
    msek=trim(msek)
    if len(msek)=3 then msek="0"+msek
    if (msek < "00.2") then
          BeaufortSkala="Stille"
    ElseIf (msek>"00.3") and (msek<"01.5") then
          BeaufortSkala="Næsten stille"
    ElseIf (msek>"01.6") and (msek<"03.3") then
          BeaufortSkala="Svag vind"
    ElseIf (msek>"03.4") and (msek<"05.4") then
          BeaufortSkala="Let vind"
    ElseIf (msek>"05.5") and (msek<"07.9") then
          BeaufortSkala="Jævn vind"
    ElseIf (msek>"08.0") and (msek<"10.7") then
          BeaufortSkala="Frisk vind"
    ElseIf (msek>"10.8") and (msek<"13.8") then
          BeaufortSkala="Hård vind"
    ElseIf (msek>"13.9") and (msek<"17.1") then
          BeaufortSkala="Stiv kuling"
    ElseIf (msek>"17.2") and (msek<"20.7") then
          BeaufortSkala="Hård kuling"
    ElseIf (msek>"20.8") and (msek<"24.4") then
          BeaufortSkala="Stormende kuling"
    ElseIf (msek>"24.5") and (msek<"28.4") then
          BeaufortSkala="Storm"
    ElseIf (msek>"28.5") and (msek<"32.6") then
          BeaufortSkala="Stærk storm"
    ElseIf (msek>"32.7")  then
          BeaufortSkala="Orkan"
    End If
end function
Avatar billede erikjacobsen Ekspert
24. januar 2007 - 19:39 #14
Hvad giver

  Response.write BeaufortSkala("10.7")
Avatar billede ingeman Seniormester
24. januar 2007 - 20:14 #15
Det her er vist bedre - du har ret

Function BeaufortSkala(msek)
    msek=trim(msek)
    if len(msek)=3 then msek="0"+msek
    if (msek < "00.2") then
          BeaufortSkala="Stille"
    ElseIf (msek>="00.3") and (msek<="01.5") then
          BeaufortSkala="Næsten stille"
    ElseIf (msek>="01.6") and (msek<="03.3") then
          BeaufortSkala="Svag vind"
    ElseIf (msek>="03.4") and (msek<="05.4") then
          BeaufortSkala="Let vind"
    ElseIf (msek>="05.5") and (msek<="07.9") then
          BeaufortSkala="Jævn vind"
    ElseIf (msek>="08.0") and (msek<="10.7") then
          BeaufortSkala="Frisk vind"
    ElseIf (msek>="10.8") and (msek<="13.8") then
          BeaufortSkala="Hård vind"
    ElseIf (msek>="13.9") and (msek<="17.1") then
          BeaufortSkala="Stiv kuling"
    ElseIf (msek>="17.2") and (msek<="20.7") then
          BeaufortSkala="Hård kuling"
    ElseIf (msek>="20.8") and (msek<="24.4") then
          BeaufortSkala="Stormende kuling"
    ElseIf (msek>="24.5") and (msek<"28.4") then
          BeaufortSkala="Storm"
    ElseIf (msek>="28.5") and (msek<="32.6") then
          BeaufortSkala="Stærk storm"
    ElseIf (msek>="32.7")  then
          BeaufortSkala="Orkan"
    End If
end function
Avatar billede erikjacobsen Ekspert
24. januar 2007 - 20:18 #16
Response.write BeaufortSkala("10.71")

Du må selvfølgelig selv bestemme, men hvad om den nu blev lavet helt korrekt - helt efter forskrifterne? Var det noget?
Avatar billede ingeman Seniormester
25. januar 2007 - 18:37 #17
der bliver aldrig sendt 10.71 kun 10.7 etc
men ellers vil jeg gerne have det lavet rigtigt !
Avatar billede erikjacobsen Ekspert
25. januar 2007 - 22:10 #18
Aldrig 10.71 ? Ja. det siger du idag ;)
Men da løsning, hvor 10.71 også virker er simplere, så synes jeg vi skal tage dem med.
Jeg ved ikke nok om din skala til at vide og der skal stå  <=  i stedet for  <  som  jeg har anført. I givet fald skal du vel ændre alle steder.

Function BeaufortSkala(msek)
  Dim m
  m = CDbl(msek)

if m < 0.2 then
  BeaufortSkala="Stille"
ElseIf  m<1.5 then
  BeaufortSkala="Næsten stille"
ElseIf m<3.3 then
  BeaufortSkala="Svag vind"
ElseIf m<5.4 then
  BeaufortSkala="Let vind"
ElseIf m<7.9 then
  BeaufortSkala="Jævn vind"
ElseIf m<10.7 then
  BeaufortSkala="Frisk vind"
ElseIf m<13.8 then
  BeaufortSkala="Hård vind"
ElseIf m<17.1 then
  BeaufortSkala="Stiv kuling"
ElseIf m<20.7 then
  BeaufortSkala="Hård kuling"
ElseIf m<24.4 then
  BeaufortSkala="Stormende kuling"
ElseIf m<28.4 then
  BeaufortSkala="Storm"
ElseIf m<32.6 then
  BeaufortSkala="Stærk storm"
Else
  BeaufortSkala="Orkan"
End If

End Function

response.write "17.1:" & BeaufortSkala(17.1) & " - " & BeaufortSkala("17.1") & "<br>"
response.write "2.5:" & BeaufortSkala(2.5) & " - " & BeaufortSkala("2.5") & "<br>"
response.write "20.5:" & BeaufortSkala(20.5) & " - " & BeaufortSkala("20.5") & "<br>"
Avatar billede erikjacobsen Ekspert
25. januar 2007 - 22:15 #19
Åh ja, hvis din server "snakker dansk", kan du ikke bruge "17.1" i dobbeltstroffer, men skal skrive "17,1", hvis det skal ind som en tekststreng.

Derfor måske lave erstatningen som tidligere.

  m = CDbl(replace(msek,"-",","))  ' hvis dansk server
Avatar billede erikjacobsen Ekspert
25. januar 2007 - 22:16 #20
Ok:    m = CDbl(replace(msek,".",","))  ' hvis dansk server
Avatar billede ingeman Seniormester
27. januar 2007 - 09:17 #21
hvordan checker man om det er en dansk server det kører på eller ikke ?
koden må skulle tage hensyn til det ?
Avatar billede ingeman Seniormester
27. januar 2007 - 09:24 #22
Den se ud til at køre rigtigt

Function BeaufortSkala(msek)
  Dim m
  m = CDbl(replace(msek,".",",")) 
   
if m < 0.2 then
  BeaufortSkala="Stille"
ElseIf  m<1.6 then
  BeaufortSkala="Næsten stille"
ElseIf m<3.4 then
  BeaufortSkala="Svag vind"
ElseIf m<5.5 then
  BeaufortSkala="Let vind"
ElseIf m<8.0 then
  BeaufortSkala="Jævn vind"
ElseIf m<10.8 then
  BeaufortSkala="Frisk vind"
ElseIf m<13.9 then
  BeaufortSkala="Hård vind"
ElseIf m<17.2 then
  BeaufortSkala="Stiv kuling"
ElseIf m<20.8 then
  BeaufortSkala="Hård kuling"
ElseIf m<24.5 then
  BeaufortSkala="Stormende kuling"
ElseIf m<28.5 then
  BeaufortSkala="Storm"
ElseIf m<32.7 then
  BeaufortSkala="Stærk storm"
Else
  BeaufortSkala="Orkan"
End If

End Function
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

IT-JOB