22. maj 2007 - 09:43
Der er
15 kommentarer og 1 løsning
Lægge form felter sammen (ignorerer decimaler)
Jeg er ved at lave en dagsseddel hvori man bl.a. skal udfylde nogle felter med brugt arbejdstid på forskellige opgaver. Jeg har så lavet nedestående, så alle timer lægges sammen. arbejdstimer = int(request.form(("timer1"))) + int(request.form(("timer2"))) + int(request.form(("timer3"))) + int(request.form(("timer4"))) + int(request.form(("timer5"))) + int(request.form(("timer6"))) Problemet er bare, at, hvis jeg f.eks. skriver 1,25 i et felt, og 1,75 i et andet så ignoreres decimalerne og resultatet bliver 2 og ikke 3. Hvordan får jeg decimalerne med?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Hvad sker der hvis du bytter , ud med . ?
int(request.form(("timer1"))) betyder jo at du laver dit tal om til et heltal, ved at ingnorere det efter kommaet. formatnumber(request.form("timer1"),2) giver dig et tal med 2 decimaler. prøv det. hvis det ikke giver korrekt resultat skal det lige konverteres til at behandle , og . korrekt: formatnumber(replace(request.form("timer1"),",","."),2) og så kan du passende lave en funktion: function konv(mittal) if isnumeric(mittal) then konv = formatnumber(replace(mittal),",","."),2) else konv = 0 end if end function arbejdstimer = konv(request.form("timer1")) + konv(request.form("timer2")) + konv(request.form("timer3")) + konv(request.form("timer4")) + konv(request.form("timer5")) + konv(request.form("timer6"))
Har lige prøvet dine forslag uden held. (Det er nok mig der klokker i det...) Din løsning med funktion tiltaler mig. Har prøvet den men får fejlen Expected end of statement konv = formatnumber(replace(mittal),",","."),2) ---------------------------------------------^
Hov, den peger altså på to tallet.
hov min fejl konv = formatnumber(replace(mittal,",","."),2)
hmm. Den giver dette resultat: 125,00175,000,000,000,000,00
sjovt, det bliver behandlet som en streng... tænker lige! prøv denne: arbejdstimer = (konv(request.form("timer1")) + konv(request.form("timer2")) + konv(request.form("timer3")) + konv(request.form("timer4")) + konv(request.form("timer5")) + konv(request.form("timer6"))) eller hvis det ikke gør det, så : arbejdstimer = (konv(request.form("timer1"))*1 + konv(request.form("timer2"))*1 + konv(request.form("timer3"))*1 + konv(request.form("timer4"))*1 + konv(request.form("timer5"))*1 + konv(request.form("timer6"))*1)
Den er ikke meget for det. Den første giver: 125,00175,000,000,000,000,00 og den næste giver: 300
må jeg se hele dit script
Her er delen der omhandler behandling af formen fra forrige side. <%if request.form("button") = "Send >>" then Function Clean(strHtml) strHtml = Trim(strHtml) strHtml = Replace(strHtml,"'","''") strHtml = Replace(strHtml," "," ") strHtml = Replace(strHtml,"æ","æ") 'æ strHtml = Replace(strHtml,"Æ","Æ") 'Æ strHtml = Replace(strHtml,"ø","ø")'ø strHtml = Replace(strHtml,"Ø","Ø")'Ø strHtml = Replace(strHtml,"å","å")'å strHtml = Replace(strHtml,"Å","Å")'Å Clean = strHtml End Function strKundenavn1 = Clean(Request.Form("kundenavn1")) strKundenavn2 = Clean(Request.Form("kundenavn2")) strKundenavn3 = Clean(Request.Form("kundenavn3")) strKundenavn4 = Clean(Request.Form("kundenavn4")) strKundenavn5 = Clean(Request.Form("kundenavn5")) strKundenavn6 = Clean(Request.Form("kundenavn6")) strVareforbrug1 = Clean(Request.Form("Vareforbrug1")) strVareforbrug2 = Clean(Request.Form("Vareforbrug2")) strVareforbrug3 = Clean(Request.Form("Vareforbrug3")) strVareforbrug4 = Clean(Request.Form("Vareforbrug4")) strVareforbrug5 = Clean(Request.Form("Vareforbrug5")) strVareforbrug6 = Clean(Request.Form("Vareforbrug6")) function konv(mittal) if isnumeric(mittal) then konv = formatnumber(replace(mittal,",","."),2) else konv = 0 end if end function arbejdstimer = (konv(request.form("timer1"))*1 + konv(request.form("timer2"))*1 + konv(request.form("timer3"))*1 + konv(request.form("timer4"))*1 + konv(request.form("timer5"))*1 + konv(request.form("timer6"))*1) herefter kommer et jmail script
prøv arbejdstimer = dbl(request.form(("timer1"))) + dbl(request.form(("timer2"))) + dbl(request.form(("timer3"))) + dbl(request.form(("timer4"))) + dbl(request.form(("timer5"))) + dbl(request.form(("timer6")))
hvordan skal dbl defineres?
01. juni 2007 - 12:43
#15
hmm, det er bare en double, dvs et tal med decimaler hvis den ikke vil være med til det så udskift dbl med Cdbl
01. juni 2007 - 13:08
#16
DER VAR DEN! Nu giver 1,25 + 1,75 = 3 Mange tak for hjælpen!
Kurser inden for grundlæggende programmering