---
title: "CInt?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10647-cint"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Inferis"
published: "2001-07-19T09:44:00.000Z"
updated: "2001-07-19T15:12:00.000Z"
replies: 13
views: 244
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/10647-cint"
---

# CInt?

## #1 — Inferis, 2001-07-19T09:44Z

Hur gör man för att kunna använda tex 
1,5 + 3 + 4?

Heltal går bra, men har man komma med så skiter det sig!

```
summa=CInt(rs("Value1"))+CInt(rs("Value2"))+CInt(rs("Value3"))
```

Permalänk: https://www.webforum.nu/p/10647

## #2 — @nders, 2001-07-19T09:45Z

integer är heltal. om du ska ha decimaler får du använda någon annan subtyp, till exempel double eller single.

prova därför cdbl() istället.

det ska vara bra att veta också att det spelar roll om du har komma eller decimalpunkt. det beror på vad du har för regional settings på servern om du ska ha komma eller punkt.

mvh,

Permalänk: https://www.webforum.nu/p/277869

## #3 — Inferis, 2001-07-19T09:48Z

Tack för ett ruggigt snabbt svar!
:-)

Ska genast prova! 

\*redigerat\* 
Funkade ju perfekt!
Tack igen!!

\[Redigerat av Inferis den 19 jul 2001\]

Permalänk: https://www.webforum.nu/p/277870

## #4 — Inferis, 2001-07-19T10:19Z

Om man nu ska göra det hela lite krångligare...

Idag så kan man fylla i talen, men jag skulle vilja att man kunde välja tex 
A, Ac, A1,C, D, D1 etc.

Det hela ska ju då passas in på följande kod om det går.

```
<td>
<%=rs("Value1")%><%=rs("Value2")%><%=rs("Value3")%></td>
<td>
<%
summa=cdbl(rs("Value1"))+cdbl(rs("Value2"))+cdbl(rs("Value3))   
%>
<%=summa%>

</td><td><%=FormatNumber(summa/222)*100%></td>
```

Det ska ju även presenteras som bokstäver, men procent och summa ska vara tal.

Permalänk: https://www.webforum.nu/p/277871

## #5 — LarsG, 2001-07-19T10:47Z

Tja, i så fall måste du in och titta på värdet om det innehåller någon siffra

```
 s = rs("value1")
 for i = 1 to len(s)
   if isNumeric(mid(s,i,1)) then
      summa = summa + cdbl(mid(s,i))
      exit for
   end if
 next
'
 s = rs("value2")
' på samma sätt
```

Permalänk: https://www.webforum.nu/p/277872

## #6 — Inferis, 2001-07-19T13:43Z

Ska man fortsätta plussa på efterhand?
Typ
if isNumeric(mid(s,i,2)) then

Hur fattar scriptet att en A=8 och att A1=5,5 tex?

Permalänk: https://www.webforum.nu/p/277873

## #7 — LarsG, 2001-07-19T13:57Z

Jag tänkte mig att om du fick upp värdet "A12" från databasen så skulle man plocka ut värdet 12 och plussa på det. Och nu menar du att jag har missförstått allt eller?

Om du vill att värdet "A" tolkas som 8 och så vidare, så får du lägga in en mappningsfunktion.

```

function map(str)
if str = "A" then
   map = 8
elseif str = "A1"
   map = 5.5
...
else
   map = cdbl(str)
end if
end function
...
summa = summa + map(rs("value1")
```

Det går ju bra om det är få värden.

Permalänk: https://www.webforum.nu/p/277874

## #8 — Inferis, 2001-07-19T14:15Z

Jag får bara syntax error?
Den klagar på
function map(str)

```
<td>
<% 

function map(str)
if str = "A" then
map = 8
elseif str = "A1"
map = 5.5

else
map = cdbl(str)
end if
end function

dim summa
summa= map(rs("Value1"))+map(rs("Value2"))+map(rs("Value3"))
%>
<%=summa%>

</td><td><%=FormatNumber(summa/222)*100%></td>
```

Det ska vara så förresten, att A=8, A1=5,5 och Ae=3,5
Finns några till. Det är jobbturer, så jag vill ju se antalet timmar och vad det blir i procent.

Permalänk: https://www.webforum.nu/p/277875

## #9 — LarsG, 2001-07-19T14:20Z

Glömde ett then där i all brådska.

```
function map(str)
if str = "A" then
map = 8
elseif str = "A1" [b]then [/b]
map = 5.5

else
map = cdbl(str)
end if
end function
```

Permalänk: https://www.webforum.nu/p/277876

## #10 — Inferis, 2001-07-19T14:30Z

Får tyvärr fortfarande ett syntax error.

Ska det förresten vara 

```
summa = summa + map(rs("value1")) + map(rs("value2")) osv
```

istället för

```

summa = map(rs("value1")) + map osv
```

Permalänk: https://www.webforum.nu/p/277877

## #11 — LarsG, 2001-07-19T14:36Z

Testade funktionen här hos mig och det gick bra. 

Det stämmer att det skall stå

summa = summa + map(rs("value1")

Du får väl visa vad du har och vilken rad du får fel på.

Permalänk: https://www.webforum.nu/p/277878

## #12 — Inferis, 2001-07-19T14:45Z

Jag har kapat lite kod som bara är onödig, men den klagar på line 281 som är markerad med blå fet stil.

```
<td>
<% 
dim summa
[b]function map(str)[/b]
if str = "A" then
map = 8
elseif str = "A1" then
map = 5.5

else
map = cdbl(str)
end if
end function

summa = summa + map(rs("Value1"))+map(rs("Value2"))+map(rs("Value3"))
%>
<%=summa%>

</td><td><%=FormatNumber(summa/222)*100%></td>
```

Permalänk: https://www.webforum.nu/p/277879

## #13 — LarsG, 2001-07-19T14:56Z

kan det vara så att funktionen ligger inuti en loop eller så

dvs

```
do until rs.eof
...
function map(str)
...
end function
...
loop
```

I så fall så får du flytta ut funktionskoden så att den ligger utanför loopar och dylikt.

Permalänk: https://www.webforum.nu/p/277880

## #14 — Inferis, 2001-07-19T15:12Z

Tröga jag!

Visst låg den i en loop.

Kunde dock inte använda 
summa = summa + map(rs("
utan fick använda
summa = map(rs("

Annars räknade den fel.

Tack ska du ha!!

Permalänk: https://www.webforum.nu/p/277881

---

Tråden på webben: https://www.webforum.nu/amne/asp/10647-cint
